Objectifs de cette leçon
- Créer et manipuler des listes
- Parcourir, ajouter et supprimer des éléments
- Comprendre l'indexation des tableaux
Les tableaux (listes) 📚
Jusqu'ici, chaque variable ne contenait qu'une seule valeur. Mais comment stocker 30 notes d'élèves ? Créer 30 variables (note1, note2, …) ? Non ! On utilise un tableau (ou liste) : une seule variable qui contient plusieurs valeurs rangées dans l'ordre.
1. Qu'est-ce qu'un tableau ? 🧱
Un tableau (ou liste) est comme une étagère avec des casiers numérotés :
- L'étagère a un nom (le nom de la variable)
- Chaque casier a un numéro appelé index (qui commence à 0)
- Chaque casier contient une valeur
Exécution pas à pas
pseudo1/3▶️VARIABLE notes = [15, 12, 18, 10, 14]VARIABLE notes = [15, 12, 18, 10, 14]Le programme exécute cette action, puis passe à la suivante.Le programme exécute cette instruction, puis passe à la suivante.
Visualise ça comme ça :
Casier 0 Casier 1 Casier 2 Casier 3 Casier 4 15 12 18 10 14
En Python :
notes = [15, 12, 18, 10, 14] # Une liste de 5 nombres fruits = ["pomme", "banane", "cerise"] # Une liste de 3 textes mixte = [1, "hello", 3.14, True] # On peut mélanger les types
2. Accéder aux éléments — l'index 🔢
Chaque élément a une position dans la liste, appelée index. Et ça commence à 0 !
Exécution pas à pas
pseudo1/4▶️notes[0] ⬅ Premier élément (index 0)notes[0] ⬅ Premier élément (index 0)Le programme exécute cette action, puis passe à la suivante.Le programme exécute cette instruction, puis passe à la suivante.
notes = [15, 12, 18, 10, 14] print(notes[0]) # 15 — premier élément print(notes[2]) # 18 — troisième élément print(notes[-1]) # 14 — dernier élément (-1 = le dernier) print(notes[1:3]) # [12, 18] — du index 1 à 3 (non inclus)
🔍 Pourquoi ça commence à 0 ? Parce que l'ordinateur compte à partir de 0. L'index 0, c'est "pas de décalage", l'index 1 c'est "décalage de 1 case", etc.
3. Les opérations sur les listes 🛠️
| Opération | Code | Résultat |
|---|---|---|
| Longueur | len(notes) | 5 (nombre d'éléments) |
| Ajouter à la fin | notes.append(20) | [15, 12, 18, 10, 14, 20] |
| Insérer à une position | notes.insert(1, 13) | [15, 13, 12, 18, 10, 14] |
| Enlever une valeur | notes.remove(10) | [15, 12, 18, 14] |
| Trier | sorted(notes) | [10, 12, 14, 15, 18] |
notes = [15, 12, 18, 10, 14] notes.append(20) # → [15, 12, 18, 10, 14, 20] notes.insert(1, 13) # → [15, 13, 12, 18, 10, 14, 20] notes.remove(10) # → [15, 13, 12, 18, 14, 20] print(len(notes)) # → 6
4. Parcourir un tableau — la boucle 🔄
Le vrai pouvoir des tableaux, c'est de pouvoir les parcourir avec une boucle !
Méthode 1 : Par valeur (le plus simple)
Exécution pas à pas
pseudo1/4🔄POUR CHAQUE note DANS notes FAIRE🔄 BoucleVérifie si "POUR CHAQUE note DANS notes" est vrai. Si oui, on recommence. Sinon, on sort de la boucle.Répète les actions suivantes TANT QUE "POUR CHAQUE note DANS notes" est vraie. Dès que c'est faux, on continue après la boucle.
notes = [15, 12, 18, 10, 14] for note in notes: # 'note' prend chaque valeur l'une après l'autre print(note) # Affiche : 15, puis 12, puis 18, puis 10, puis 14
Méthode 2 : Par index (quand on a besoin de la position)
Exécution pas à pas
pseudo1/4🔄POUR i ALLANT DE 0 À longueur(notes) - 1 FAIRE🔄 BoucleVérifie si "POUR i ALLANT DE 0 À longueur(notes) - 1" est vrai. Si oui, on recommence. Sinon, on sort de la boucle.Répète les actions suivantes TANT QUE "POUR i ALLANT DE 0 À longueur(notes) - 1" est vraie. Dès que c'est faux, on continue après la boucle.
for i in range(len(notes)): # i vaut 0, puis 1, puis 2, 3, 4 print(f"Index {i}: {notes[i]}") # On utilise i pour accéder à la case
🎯 Quand utiliser l'une ou l'autre ?
- Si tu as juste besoin des valeurs → par valeur (
for note in notes)- Si tu as besoin de la position (pour modifier) → par index (
for i in range(len(notes)))
5. Exemple pratique : trouver le maximum 🏆
Parcourons un tableau pour trouver la plus grande valeur :
Exécution pas à pas
pseudo1/13🟢DEBUTDÉPARTLe programme démarre, toutes les variables sont prêtes.Le programme démarre. Tout est initialisé, prêt à exécuter les instructions.
notes = [3, 1, 4, 1, 5] maximum = notes[0] # On commence avec le premier élément for valeur in notes: # Pour chaque valeur dans la liste if valeur > maximum: # Si cette valeur est plus grande que le max actuel maximum = valeur # On met à jour le maximum print(f"Le max est : {maximum}") # Affiche : 5
Pas à pas :
Tour valeur maximum avant valeur > maximum ? maximum après 1 3 3 Non (c'est égal) 3 2 1 3 ❌ Non 3 3 4 3 ✅ Oui → mis à jour 4 4 1 4 ❌ Non 4 5 5 4 ✅ Oui → mis à jour 5
Regarde le diagramme interactif "Exécution pas à pas" plus bas : tu verras la flèche parcourir chaque élément, avec les valeurs de max qui changent ! 🎮
6. Exercice pour toi 🎯
Ouvre l'onglet Sandbox et écris ces programmes :
Exercice 1 : Moyenne des notes
notes = [15, 12, 18, 10, 14] somme = 0 for note in notes: somme = somme + note # On additionne chaque note moyenne = somme / len(notes) print(f"Moyenne : {moyenne}")
Exercice 2 : Compte les positifs
Écris un programme qui compte combien de nombres sont positifs dans [3, -1, 4, -2, 5, 0].
Exercice 3 : Liste de courses
Crée une liste de courses (["pain", "lait", "œufs"]), ajoute "chocolat" avec append(), enlève "lait" avec remove(), puis affiche chaque élément.
💡 À retenir : Les listes sont partout en programmation. Dès qu'on a plusieurs données du même type, on utilise un tableau. C'est la base de tout !
⚡ Simulateur — Création et accès
Étape 1/5Tableau 'notes' : 5 éléments, index 0-4.
⚡ Simulateur — Parcourir un tableau
Étape 1/8Calcul de la moyenne.