0 XP
?
Débutant55 min35 XP

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

pseudo
1/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 0Casier 1Casier 2Casier 3Casier 4
1512181014

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

pseudo
1/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érationCodeRésultat
Longueurlen(notes)5 (nombre d'éléments)
Ajouter à la finnotes.append(20)[15, 12, 18, 10, 14, 20]
Insérer à une positionnotes.insert(1, 13)[15, 13, 12, 18, 10, 14]
Enlever une valeurnotes.remove(10)[15, 12, 18, 14]
Triersorted(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

pseudo
1/4
🔄
POUR CHAQUE note DANS notes FAIRE
TANT QUE ...🔄 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

pseudo
1/4
🔄
POUR i ALLANT DE 0 À longueur(notes) - 1 FAIRE
TANT QUE ...🔄 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

pseudo
1/13
🟢
DEBUT
DÉ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 :

Tourvaleurmaximum avantvaleur > maximum ?maximum après
133Non (c'est égal)3
213❌ Non3
343✅ Oui → mis à jour4
414❌ Non4
554✅ Oui → mis à jour5

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/5
📝 Pseudo-code
1notes = [15, 12, 18, 10, 14]
2# Index: 0 1 2 3 4
3afficher("Note 0 :", notes[0])
4afficher("Note 2 :", notes[2])
5notes[3] = 13
6afficher("Notes :", notes)
⚙️ Exécution
📦 Mémoire
notes
[15, 12, 18, 10, 14]
🔀 Flux d'exécution
Création
3

Tableau 'notes' : 5 éléments, index 0-4.

⚡ Simulateur — Parcourir un tableau

Étape 1/8
📝 Pseudo-code
1notes = [15, 12, 18, 10, 14]
2somme = 0
3POUR note DANS notes FAIRE
4 somme = somme + note
5FIN POUR
6moyenne = somme / 5
⚙️ Exécution
📦 Mémoire
notes
[15, 12, 18, 10, 14]
🔀 Flux d'exécution
Début
3

Calcul de la moyenne.