Accueil

Orientation générale

Barre de recherche

DicoNombre

DicoMot Math

DicoCulture

Atlas des maths

Rubriques

Index alphabétique

Nouveautés

Actualités

Références

Édition du: 12/08/2025

M'écrire

Brèves de Maths

 

INDEX

 

Python

 

Programmation

Informatique

Multimédia

Ordinateur

Python – Comment se lancer et initiation

INITIATION

BASES

MATHS

Symbolisme

Affichage

Caractères

Glossaire

Techniques

Graphes Plot

Importations

Listes et ensembles

Dessins - Tortue

Dessins – Tkinter

Faites un double-clic pour un retour en haut de page

 

 

 

PYTHON: Trucs et astuces

Listes et ensembles

 

Quelles sont les principales choses à savoir ou à avoir sous la main lorsqu'on s'intéresse aux listes et aux ensembles.

Rappel: les listes et ensembles peuvent être modifiées, un tuple non.

 

 

Sommaire de cette page

>>> Listes

>>> Ensembles

>>> Listes et Ensembles

>>> Manipulations

>>> Tests

>>> Zip

>>> LISTE – Exemples

 

Débutants

Programmation

 

Glossaire

Informatique

Algorithme

 

À savoir

List

L = [1, 5, 2, 5]

Éléments non-ordonnés, accepte les doublons.

Les éléments sont placés dans l'ordre d'apparition par les traitements.

Ajouter un élément avec L.append(n).

Possibilité d'appel d'un élément par indexation : L[i].

Set

S = {1, 5, 2}

Éléments non-ordonnés, sans doublons.

Les éléments sont placés dans l'ordre d'apparition par les traitements.

Ajouter un élément avec S.add(n).

Pas de possibilité d'indexation. Il faut convertir en liste.

En revanche, test d'appartenance possible avec x in S

sorted(L) => [1, 2, 5, 5]

sorted(S) => [1, 2, 5]

Tri, que la source soit une liste ou un ensemble.

sorted(set(L))

[1, 2, 5]

Tri et éléments par ordre croissant.

Voir Exemples en Divisibilité par 3 et somme 18

 

 

 

Listes

haut

Liste

Ajouter un élément

Liste + Liste

 

[     ] = liste

{     } = ensemble

    | avec Alt 6

Liste retournée

 

Ensembles

haut

Ensemble

Ensemble: élément dans l'ordre et sans redondance.

S = {1, 2, 3, 4}

T = {1, 2, 2, 5, 4, 2}

print(S)

print(T)

{1, 2, 3, 4}

{1, 2, 4, 5}

Identification de nombres à chiffres tous différents

def ND(n):

    L = [int(c) for c in str(n)]

    S = set(L)

    if len(L) == len(S):

        print(f"les chiffres de {n} sont distincts")

    else:

        print(f"les chiffres de {n} ne sont pas distincts")

  

 

n = 1234; ND(n)

m = 122352 ; ND (m)    

les chiffres de 1234 sont distincts

les chiffres de 122352 ne sont pas distincts

 

Listes et Ensembles

haut

Ensemble en liste

S = {1, 2, 3, 4, 5}

L = list(S)

print(L)

[1, 2, 3, 4, 5]

Liste en ensemble

L = [1, 2, 2, 3, 4, 4, 5]

S = set(L)

print(S)

{1, 2, 3, 4, 5}

Liste triée

L = [1, 2, 2, 3, 4, 4, 5]

S = sorted(L)

print(S)

[1, 2, 2, 3, 4, 4, 5]

Aussi

L = [5, 2, 9, 1, 7]

L.sort()

print(L)

[1, 2, 5, 7, 9]

Tri décroissant

L = [5, 2, 9, 1, 7]

L.sort(reverse=True)

print(L)

[9, 7, 5, 2, 1]

Tri par clé

L = ['Kevin', 'Bob', 'Jo', 'Louise']

LT = sorted(L, key=len)

print(LT)

['Jo', 'Bob', 'Kevin', 'Louise']

 

Manipulations

haut

Ajouter des éléments à une liste

 

M = [1, 2, 3]

N = [4, 5]

M.extend(N)

print(M) 

[1, 2, 3, 4, 5]

Plus simple

M = [1, 2, 3]

M += [4, 5]

print(M) 

[1, 2, 3, 4, 5]

Ajouter une sous-liste

M = [[1, 2, 3], [2,3]]

N = [4, 5]

M.append(N)

print(M) 

 

[[1, 2, 3], [2, 3], [4, 5]]

Regrouper deux listes

M = [1, 2, 3]

N = [4, 5]

P = M + N

print(P) 

[1, 2, 3, 4, 5]

Créer une liste avec une boucle de calcul

L = []

for i in range(3):

    M = [i, i + 1, i + 2] 

    L.append(M)

print(L)

[[0, 1, 2], [1, 2, 3], [2, 3, 4]]

Accéder à un élément

 

Note: commence par 0

A = [[1,2,3],[234],45]

print(A[0])

print(A[2])

[1, 2, 3]

45

 

Tests

haut

Test si une liste est présente dans une liste: même valeur dans l'ordre

L = [[1, 2], [3, 4], [5, 6]]

T = [3, 4]

if T in L:

    print("oui")

else:

    print("non")

oui

Test d'appartenance d'une sous liste dans une liste dans l'ordre

 

 

Note

 \ pour aller à la ligne (surtout , rien derrière)

def EstSL(M, N):

    m = len(M)

    n = len(N)

    return any(M[i:i+n] == N \

    for i in range(m-n+1))

A = [5, 1, 2, 3, 4, 9]

B = [2, 3, 4]

C = [3, 2, 4]

print(A)

print(B, EstSL(A, B)) 

print(C, EstSL(A, C)) 

[5, 1, 2, 3, 4, 9]

[2, 3, 4] True

[3, 2, 4] False

Test d'appartenance d'une sous liste dans une liste sans ordre

 

L = [

    [1, 2],

    [4, 3],

    [5, 6],

    [7, 8, 9]

]

C = [3, 4]

CE = set(C)

present = any(set(sous_liste)\

    == CE for sous_liste in L)

if present:

    print("Oui")

else:

    print("Non")

Oui

 

 

ZIP

haut

Associer deux listes

 

Si les séquences n’ont pas la même longueur, zip() s’arrête à la plus courte.

 

prenoms = ["Alice", "Bob", "Charlie"]

ages = [25, 30, 22]

 

for nom, age in zip(prenoms, ages):

    print(f"{nom} a {age} ans.")

Alice a 25 ans.

Bob a 30 ans.

Charlie a 22 ans

Création d'un dictionnaire à partir de deux listes

clefs = ["nom", "âge", "ville"]

valeurs = ["Nathan", 12, "Antibes"]

 

d = dict(zip(clefs, valeurs))

print(d)

{'nom': 'Nathan', 'âge': 12, 'ville': 'Antibes'}

Zipper une chaine de caractères

a = "abc"

b = "123"

print(list(zip(a, b)))

[('a', '1'), ('b', '2'), ('c', '3')]

Dezipper

paires = [("x", 1), ("y", 2), ("z", 3)]

lettres, chiffres = zip(*paires)

 

print(lettres)   # ('x', 'y', 'z')

print(chiffres)  # (1, 2, 3)

('x', 'y', 'z')

(1, 2, 3)

Zipper et lister

noms = ["Marie", "Jean", "Luc"]

notes = [18, 15, 19]

 

for i, (nom, note) in

enumerate(zip(noms, notes)):

    print(f"#{i+1} : {nom} → {note}/20")

#1 : Marie → 18/20

#2 : Jean → 15/20

#3 : Luc → 19/20

 

 

LISTE – Exemples

haut

# Liste

L = ["A", "B", "C", "D"]

print(L, "Longueur :", len(L))

print("Qté de C :", L.count("C"))

print("Index de 'D' :", L.index("D"))

print("'B' est-il présent ?", "B" in L)

['A', 'B', 'C', 'D'] Longueur : 4

Qté de C : 1

Index de 'D' : 3

'B' est-il présent ? True

L = ["A", "B", "C", "D"]

     # voir slicing et Tableau de possibilités

print(L[:2])

     # Prend tous les éléments du début jusqu’à l’indice 2 exclus.

 

print(L[2:])

     # Prend tous les éléments à partir de l’indice 2 jusqu’à la fin.

 

print(L[::2]

     # Prend les éléments un sur deux, en commençant par l’indice 0

 

['A', 'B']

 

 

 

 

['C', 'D']

 

 

 

 

['A', 'C']

# Indexation par position

print("Premier :", L[0])    

print("Dernier :", L[-1])   

print("Sous-liste :", L[1:3]) 

 

Premier : A

Dernier : D

Sous-liste : ['B', 'C']

# Ajouter des éléments

print(L + ["XYZ"])

L.append("X")                    

L.insert(2, "Y")

print("Ajouté", L)

['A', 'B', 'C', 'D', 'XYZ']

 

Ajouté ['A', 'B', 'Y', 'C', 'D', 'X']

# Étendre avec une autre liste

Lbis = ["P", "Q"]

L.extend(Lbis)

print("Etendue :", L)

Etendue : ['A', 'B', 'Y', 'C', 'D', 'X', 'P', 'Q']

# Concaténation avec +

LM = L + ["Oui", "Non"]

print("Concaténée :", LM)

Concaténée : ['A', 'B', 'Y', 'C', 'D', 'X', 'P', 'Q', 'Oui', 'Non']

# Nettoyage

L.remove("A") #un seul élément

print("Retrait :", L)

del L[2]

print("Effacer :",L)

L.clear()

print("Vidée :",L)

Retrait : ['B', 'Y', 'C', 'D', 'X', 'P', 'Q']

Effacer : ['B', 'Y', 'D', 'X', 'P', 'Q']

Vidée : []

# Duplication

L = [1, 5, 3]

print("Nouvelle liste",L)

print("Répétée :", L * 2)

 

Nouvelle liste [1, 5, 3]

Répétée : [1, 5, 3, 1, 5, 3]

# Trier et inverser

L.sort()

print("Triée :", L)

L.reverse()

print("Inversée :", L)

 

Triée : [1, 3, 5]

Inversée : [5, 3, 1]

# Création d'une chaîne

mots = ["Bonjour", "Nathan", "comment", "ça", "va"]

phrase = " ".join(mots)

print(phrase)

 

Bonjour Nathan comment ça va

# Statistiques (avec liste de nombres)

nombres = [4, 10, 15, 2, 7]

print("Min :", min(nombres))

print("Max :", max(nombres))

print("Somme :", sum(nombres))

 

Min : 2

Max : 15

Somme : 38

# Conversion 

chaine = "Python"

print("Lettres Python :", list(chaine))

 

 Lettres Python: ['P', 'y', 't', 'h', 'o', 'n']

 

Diverses possibilités d'accéder aux éléments d'une liste

Haut de page (ou double-clic)

 

 

 

Retour

*      Trucs de base en Python

*      Python – Ce qu'il faut absolument comprendre avant de se lancer

*      Les classiques en Python

Suite

*      Tableau (Matrices) – Manipulations

*      Trucs avec les listes et les ensembles

*      Tour d'horizon avec l'exemple des palindromes

*      Les classiques – Factorielle, Fibonacci …

*      Comment obtenir plus de chiffres significatifs

*      Mes premiers dessins

Voir

*      Scratch – Apprendre à programmer simplement

*      Maple – Apprendre à programmer (maths)

*      Historique de l’aventure informatique

Sites

*      Cours Python – OpenClassrooms 

*      Programmation Python – WikiBooks

Cette page

http://villemin.gerard.free.fr/aInforma/PYTHON/TrucList.htm