Définition
En Python, une liste est une collection ordonnée et modifiable d'éléments. Chaque élément d'une liste possède un indice (ou index) qui permet d'y accéder. Le premier élément a l'indice $0$. Les listes peuvent contenir des éléments de différents types (nombres, chaînes de caractères, autres listes, etc.).
len(ma_liste) - 1.
Méthode : Les listes en Python
Créer une liste
Une liste est définie en plaçant les éléments entre crochets [], séparés par des virgules. Une liste vide est [].
Accéder à un élément
Pour accéder à un élément, on utilise son indice entre crochets après le nom de la liste. Par exemple, ma_liste[0] donne le premier élément. Les indices négatifs permettent d'accéder aux éléments depuis la fin de la liste : ma_liste[-1] est le dernier élément.
Modifier un élément
Les listes sont mutables. Pour modifier un élément, on assigne une nouvelle valeur à l'emplacement de l'indice : ma_liste[indice] = nouvelle_valeur.
Ajouter ou supprimer des éléments
ma_liste.append(element)ajoute un élément à la fin de la liste.ma_liste.insert(indice, element)insère un élément à un indice spécifique.ma_liste.pop(indice)supprime et renvoie l'élément à l'indice donné (si aucun indice n'est spécifié, supprime le dernier).ma_liste.remove(valeur)supprime la première occurrence de la valeur spécifiée.
Parcourir une liste
On peut parcourir une liste avec une boucle for. Deux méthodes courantes :
- Parcourir les éléments directement :
for element in ma_liste: - Parcourir les indices :
for i in range(len(ma_liste)):oùlen(ma_liste)donne la taille de la liste.
Exemple résolu
courses = ['pain', 'lait', 'œufs', 'fruits']print(courses[0]) # Affiche 'pain'courses[2] = 'fromage'
print(courses) # Affiche ['pain', 'lait', 'fromage', 'fruits']courses.append('légumes')
print(courses) # Affiche ['pain', 'lait', 'fromage', 'fruits', 'légumes']courses.insert(1, 'viande')
print(courses) # Affiche ['pain', 'viande', 'lait', 'fromage', 'fruits', 'légumes']courses.remove('lait')
print(courses) # Affiche ['pain', 'viande', 'fromage', 'fruits', 'légumes']['pain', 'viande', 'fromage', 'fruits', 'légumes'].Erreurs d'indices et mutabilité
- Erreur d'indice (IndexError) : Tenter d'accéder à un indice qui n'existe pas (par exemple,
ma_liste[10]pour une liste de 5 éléments). Les indices valides vont de $0$ àlen(ma_liste) - 1. - Confusion entre
append()etinsert():append()ajoute toujours à la fin,insert()permet de choisir la position. Utiliserinsert(len(ma_liste), element)est équivalent àappend(element). - Effets de bord avec la copie de listes :
liste2 = liste1ne crée pas une nouvelle liste, mais une référence à la même liste. Modifierliste2modifiera aussiliste1. Pour copier une liste, utilisezliste2 = list(liste1)ouliste2 = liste1[:].
Exercice type contrôle
Un professeur souhaite gérer les notes d'un élève dans une liste Python.- Créez une liste nommée
notescontenant les notes suivantes : $12$, $15$, $9$, $18$. - L'élève a eu une nouvelle note de $14$. Ajoutez cette note à la fin de la liste.
- Le professeur se rend compte que la note $9$ était une erreur et qu'elle devrait être $11$. Modifiez la note correspondante dans la liste.
- Calculez et affichez la moyenne des notes de l'élève.
- Création de la liste :
notes = [12, 15, 9, 18] print(notes) # Affiche [12, 15, 9, 18] - Ajout de la nouvelle note :
notes.append(14) print(notes) # Affiche [12, 15, 9, 18, 14] - Modification de la note $9$ en $11$. La note $9$ est à l'indice $2$ (car $12$ est à $0$, $15$ à $1$).
notes[2] = 11 print(notes) # Affiche [12, 15, 11, 18, 14] - Calcul et affichage de la moyenne :
somme_notes = 0 for note in notes: somme_notes = somme_notes + note moyenne = somme_notes / len(notes) print(f"La moyenne des notes est : {moyenne}") # Affiche La moyenne des notes est : 14.0
Questions fréquentes
Quelle est la différence entre une liste et une chaîne de caractères ?
Comment savoir si un élément est présent dans une liste ?
in. Par exemple, 'pain' in courses renverra True si 'pain' est dans la liste courses, et False sinon.Comment trier une liste ?
ma_liste.sort() trie la liste en place (modifie la liste originale). La fonction sorted(ma_liste) renvoie une nouvelle liste triée sans modifier l'originale.Peut-on avoir des listes de listes ?
matrice = [[1, 2], [3, 4]].Pour aller plus loin
Le passage en Seconde est difficile ?
Adil accompagne les élèves de Seconde, à domicile dans le Val d'Oise ou en ligne. Un seul prof, du premier cours jusqu'au Bac.