Listes en Python
1. Qu’est-ce qu’une liste ?
Une liste est une structure de données qui permet de stocker plusieurs valeurs dans un ordre précis. Elle est modifiable (on dit aussi mutable) et peut contenir des éléments de tout type (nombres, chaînes, autres listes…).
# Déclaration d’une liste
ma_liste = [1, 2, 3, 4]🔍 Une liste peut être vide : []
2. Accès aux éléments
On accède aux éléments d'une liste avec des indices (index) qui commencent à 0.
print(ma_liste[0]) # affiche 1 (premier élément)
print(ma_liste[-1]) # affiche 4 (dernier élément)⚠️ Si l’index est en dehors de la liste → erreur IndexError.
3. Modification des éléments
On peut remplacer un élément directement :
ma_liste[1] = 10
print(ma_liste) # [1, 10, 3, 4]4. Ajouter des éléments
- À la fin :
ma_liste.append(5)
- À un indice précis :
ma_liste.insert(2, 99) # insère 99 à l’indice 2
5. Supprimer des éléments
- Le dernier élément (ou un autre par indice) :
ma_liste.pop() # supprime le dernier ma_liste.pop(1) # supprime l’élément à l’indice 1
- Par valeur :
ma_liste.remove(3) # supprime la première occurrence de 3
- Avec
del:del ma_liste[0] # supprime l’élément d’indice 0
6. Parcourir une liste
🔁 Boucle for directe :
for element in ma_liste:
print(element)🔁 Boucle avec les indices :
for i in range(len(ma_liste)):
print(i, ma_liste[i])7. Slices (tranches)
Les slices permettent d'extraire une sous-liste :
ma_liste[1:3] # éléments d’indice 1 à 2 (exclut 3)
ma_liste[:2] # début jusqu’à l’indice 1
ma_liste[::2] # un élément sur deux
ma_liste[::-1] # inverse la liste8. Fonctions utiles sur les listes
| Fonction | Description |
len(l) | Nombre d’éléments |
sum(l) | Somme des éléments (si numériques) |
min(l) | Plus petit élément |
max(l) | Plus grand élément |
x in l | Renvoie True si x est présent dans la liste |
+ | Concaténation de deux listes |
* | Répétition de la liste |
l1 = [1, 2]
l2 = [3, 4]
l3 = l1 + l2 # [1, 2, 3, 4]
l4 = l1 * 3 # [1, 2, 1, 2, 1, 2]9. Mutation des listes
Une liste est mutable, donc on peut modifier ses éléments après sa création.
liste = [1, 2, 3]
copie1 = liste # pas une vraie copie !
copie2 = liste[:] # vraie copie
copie1[0] = 99
print(liste) # [99, 2, 3] (modifiée aussi !)
print(copie2) # [1, 2, 3] (pas modifiée)🔍 Bien retenir la différence entre référence et copie réelle.
10. Compréhensions de liste
La compréhension de liste permet de créer une nouvelle liste à partir d'une autre, de façon simple et lisible.
carrés = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
pairs = [x for x in range(10) if x%2 == 0] # [0, 2, 4, 6, 8]💡 On peut y inclure des conditions, des boucles imbriquées...
11. Cas particuliers à connaître
- Une liste peut contenir d'autres listes :
mat = [[1, 2], [3, 4]] print(mat[1][0]) # affiche 3
- Attention à l'initialisation :
mauvaise = [[0]*3]*3 # piège ! bonne = [[0]*3 for _ in range(3)]
🧠 À bien retenir pour le bac
✅ Accès, modification, suppression
✅ Parcours simple et par index
✅ Copie réelle vs affectation
✅ Compréhension de liste
✅ Fonctions de base (len, sum, in...)
✅ Ne pas confondre indices et valeurs