logo oujood
🔍

Les listes en Python

Une liste Python permet de stocker plusieurs valeurs dans une seule variable. Les éléments sont ordonnés, modifiables et accessibles par leur index. C'est l'une des structures de données les plus utilisées en Python.

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.

  📋 Copier le code

# 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).

  📋 Copier le code

# 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.

  📋 Copier le code

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.

  📋 Copier le code

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.

  📋 Copier le code

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.

  📋 Copier le code

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.

  📋 Copier le code

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.

  📋 Copier le code

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…).

  📋 Copier le code

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.

  📋 Copier le code

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.

  📋 Copier le code

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.

  📋 Copier le code

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.

  📋 Copier le code

# 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().

  📋 Copier le code

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.

  📋 Copier le code

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