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


5. Supprimer des éléments


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 liste

8. Fonctions utiles sur les listes

FonctionDescription
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 lRenvoie 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


🧠 À 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