Méthodes fondamentales des listes en Python
Les listes sont l'un des types de données les plus utilisés en Python. Elles sont mutables, ordonnées et permettent le stockage d'éléments hétérogènes. Cette section explore en profondeur chaque méthode disponible sur les objets list, avec des explications claires et des exemples concrets.
append(item)
Ajoute un élément à la fin de la liste.
mes_fruits = ['pomme', 'banane']
mes_fruits.append('orange')
print(mes_fruits) # ['pomme', 'banane', 'orange']
Cette opération modifie directement la liste sans en créer une nouvelle. L’ajout se fait en temps constant amorti O(1).
clear()
Supprime tous les éléments contenus dans la liste, la laissant vide.
nombres = [1, 2, 3, 4]
nombres.clear()
print(nombres) # []
Après appel de clear(), la liste existe toujours mais ne contient aucun élément.
copy()
Retourne une copei superficielle (shallow copy) de la liste.
original = [1, 2, [3, 4]]
copie = original.copy()
copie[2].append(5)
print(original) # [1, 2, [3, 4, 5]] – la sous-liste est partagée
La modification d’une sous-structure mutable affecte les deux listes, car seule la référence est copiée.
count(valeur)
Retourne le nombre d'occurrences d'une valeur donnée dans la liste.
valeurs = [1, 2, 2, 3, 2]
print(valeurs.count(2)) # 3
Si la valeur n’existe pas, la méthode retourne 0 sans lever d’exception.
extend(iterable)
Ajoute les éléments d’un itérable à la fin de la liste.
liste_a = [1, 2]
liste_b = [3, 4]
liste_a.extend(liste_b)
print(liste_a) # [1, 2, 3, 4]
Contrairement à append(), qui ajouterait liste_b comme un seul élément, extend() intègre chaque élément idnividuellement.
index(valeur, debut=0, fin=None)
Retourne l'indice de la première occurrence d'une valeur spécifiée.
elements = ['a', 'b', 'c', 'b']
print(elements.index('b')) # 1
Les paramètres optionnels debut et fin permettent de limiter la recherche à une plage spécifique. Si la valeur est absente, une exception ValueError est levée.
insert(indice, element)
Insère un élément à un indice donné, décalant les autres éléments vers la droite.
items = ['x', 'z']
items.insert(1, 'y')
print(items) # ['x', 'y', 'z']
L’insertion en début ou milieu de liste a une complexité O(n), car les éléments doivent être déplacés.
pop([indice])
Supprime et retourne l'élément à l'indice indiqué. Par défaut, c’est le dernier élément.
valeurs = [10, 20, 30]
dernier = valeurs.pop()
print(dernier) # 30
print(valeurs) # [10, 20]
Une erreur IndexError est générée si l’indice est invalide ou si la liste est vide.
remove(valeur)
Supprime la première occurrence de la valeur donnée.
liste = ['chat', 'chien', 'oiseau', 'chien']
liste.remove('chien')
print(liste) # ['chat', 'oiseau', 'chien']
Si la valeur n’est pas présente, une exception ValueError est levée.
reverse()
Inverse l'ordre des éléments directement dans la liste (in-place).
ordre = [1, 2, 3]
ordre.reverse()
print(ordre) # [3, 2, 1]
Cette méthode ne retourne rien ; elle modifie la liste d'origine.
sort(key=None, reverse=False)
Trie la liste en place selon l'ordre croissant par défaut.
mots = ['python', 'java', 'go']
mots.sort(key=len)
print(mots) # ['go', 'java', 'python'] – tri par longueur
Le paramètre key permet de définir une fonction de transformation avant comparaison. L’option reverse=True active le tri décroissant. Le tri est stable : l’ordre relatif des éléments équivalents est préservé.