OUJOOD.COM
Créer une liste
Une liste sert à stocker plusieurs éléments dans une seule variable. On la crée avec des crochets, les valeurs séparées par des virgules. Les éléments n'ont pas besoin d'être du même type.
# Liste de chaînes maliste1 = ["cahier", "livre", "stylo"] # Liste mixte : chaînes et entiers maliste2 = ["cahier", "livre", 1, 125] # Liste d'entiers maliste3 = [23, 11, 10, 1, 125] print(maliste1)
Propriétés d'une liste
Les éléments d'une liste sont ordonnés (leur position ne change pas spontanément), modifiables (on peut ajouter, modifier ou supprimer des éléments) et ils autorisent les doublons (deux éléments peuvent avoir la même valeur).
# Les listes acceptent les valeurs dupliquées maliste = ["cahier", "livre", "stylo", "livre"] print(maliste) # ['cahier', 'livre', 'stylo', 'livre']
Longueur d'une liste
La fonction len() retourne le nombre d'éléments d'une liste.
maliste = ["cahier", "livre", "stylo", "livre"]
print("Cette liste a " + str(len(maliste)) + " éléments")
Accéder aux éléments
Chaque élément d'une liste est accessible via son index entre crochets. L'index commence à 0. Les index négatifs comptent depuis la fin : -1 désigne le dernier élément.
maliste = ["cahier", "livre", "stylo", "gomme"] print(maliste[1]) # livre (index 1) print(maliste[-1]) # gomme (dernier élément)
Extraire une plage d'éléments (slicing)
On peut extraire plusieurs éléments en indiquant une plage d'index : liste[debut:fin]. La borne de fin est exclue. Omettre le début ou la fin utilise le premier ou le dernier élément par défaut.
maliste = ["cahier", "livre", "stylo", "gomme", "règle", "tableau", "colle"] # Du 3e au 5e élément (index 2 inclus, index 5 exclu) print(maliste[2:5]) # Depuis le début jusqu'à l'index 4 (exclu) print(maliste[:4]) # Depuis l'index 2 jusqu'à la fin print(maliste[2:]) # Index négatifs : de -5 à -2 (exclu) print(maliste[-5:-2])
Vérifier la présence d'un élément
L'opérateur in permet de tester si une valeur est présente dans une liste.
maliste = ["cahier", "livre", "stylo", "gomme", "règle"]
if "gomme" in maliste:
print("'gomme' est dans la liste")
Modifier des éléments
On modifie un élément en ciblant son index. On peut aussi remplacer une plage d'éléments en une seule opération.
maliste = ["cahier", "livre", "stylo", "tableau", "gomme", "règle"] # Modifier un seul élément maliste[2] = "stylo bleu" print(maliste) # Remplacer une plage d'éléments maliste[2:4] = ["stylo bleu", "colle"] print(maliste)
Insérer un élément à une position précise
La méthode insert(index, valeur) ajoute un élément à la position indiquée sans écraser les éléments existants.
maliste = ["cahier", "livre", "stylo", "tableau", "gomme", "règle"]
maliste.insert(2, "équerre") # Insère à l'index 2
print(maliste)
Ajouter des éléments en fin de liste
append() ajoute un élément à la fin. extend() ajoute tous les éléments d'un autre itérable (liste, tuple, ensemble…).
maliste = ["cahier", "livre", "stylo", "tableau", "gomme", "règle"] # append() : ajoute un seul élément à la fin maliste.append("équerre") print(maliste) # extend() : ajoute tous les éléments d'une autre liste accessoires = ["sac à dos", "tablier", "trousse"] maliste.extend(accessoires) print(maliste)
Supprimer des éléments
Plusieurs méthodes permettent de supprimer des éléments : remove() cible une valeur, pop() cible un index (le dernier par défaut), del supprime par index ou la liste entière, et clear() vide la liste sans la supprimer.
maliste = ["cahier", "livre", "stylo", "tableau", "gomme", "règle"] # remove() : supprime la première occurrence de la valeur maliste.remove("tableau") print(maliste) # pop(index) : supprime l'élément à l'index donné maliste.pop(1) print(maliste) # pop() sans argument : supprime le dernier élément maliste.pop() print(maliste) # del : supprime par index del maliste[0] print(maliste) # clear() : vide la liste (la variable existe toujours) maliste.clear() print(maliste) # []
Parcourir une liste
On parcourt une liste avec une boucle for, via les index avec range(len()), ou avec une boucle while.
maliste = ["cahier", "livre", "stylo", "tableau", "gomme", "règle"] # Parcours direct avec for for x in maliste: print(x) # Parcours par index for i in range(len(maliste)): print(maliste[i]) # Parcours avec while i = 0 while i < len(maliste): print(maliste[i]) i = i + 1
Trier une liste
La méthode sort() trie une liste en ordre croissant par défaut. L'argument reverse=True inverse l'ordre. Pour un tri insensible à la casse, on passe key=str.lower. La méthode reverse() inverse simplement l'ordre actuel sans trier.
maliste = ["cahier", "livre", "Stylo", "tableau", "Gomme", "règle"] # Tri alphabétique croissant (sensible à la casse) maliste.sort() print(maliste) # Tri décroissant liste = [101, 51, 15, 8, 203] liste.sort(reverse=True) print(liste) # Tri insensible à la casse maliste.sort(key=str.lower) print(maliste) # Inverser l'ordre sans trier maliste.reverse() print(maliste)
Tri personnalisé avec une fonction clé
L'argument key de sort() accepte une fonction qui retourne la valeur de comparaison. Utile pour trier selon un critère custom.
# Trier par proximité au nombre 50 def mafonction(n): return abs(n - 50) liste = [101, 51, 85, 78, 203] liste.sort(key=mafonction) print(liste) # [51, 85, 78, 101, 203]
Copier une liste
On ne peut pas copier une liste avec liste2 = liste1 : les deux variables pointeraient vers le même objet en mémoire. Pour une vraie copie indépendante, on utilise copy() ou la fonction list().
maliste = ["cahier", "livre", "stylo", "tableau", "gomme", "règle"] # Copie avec la méthode copy() maliste2 = maliste.copy() # Copie avec la fonction list() maliste3 = list(maliste) print(maliste2) print(maliste3)
Fusionner deux listes
L'opérateur + crée une nouvelle liste combinée. extend() ajoute les éléments d'une liste à une autre en place.
maliste1 = ["cahier", "livre", "stylo"] maliste2 = ["tableau", "gomme", "règle"] # Fusion avec + : crée une nouvelle liste maliste3 = maliste1 + maliste2 print(maliste3) # Fusion avec extend() : modifie maliste1 en place maliste1.extend(maliste2) print(maliste1)
Par carabde | Mis à jour le 24 avril 2026