Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Des listes dans des listes

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

35 minutes

Une salle de cinéma

Au cinéma, les places sont rangées en rangs. Trois rangs, quatre places par rang.

Pour dire « le rang 2, la place 3 », il faut deux numéros.

Une liste simple n’a qu’un numéro. Alors on met des listes dans une liste.

Mots-clés

MotCe que ça veut direExemple
Liste de listesUne liste dont chaque élément est lui-même une liste.[[1, 2], [3, 4]]
LigneUne des petites listes. Elle se lit de gauche à droite.salle[0] est le premier rang.
ColonneLa place d’un élément dans sa ligne. Elle se lit de haut en bas.La colonne 2 est la troisième place.
CaseUn élément de la grille, à une ligne et une colonne.salle[1][2]
GrilleUn tableau de lignes et de colonnes, comme une feuille quadrillée.Un plan de salle.
Boucle imbriquéeUne boucle placée dans une autre boucle.for ligne ... for case ...

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Lire une case

Une grille est une liste dans laquelle chaque élément est une ligne.

Pour lire une case, donne deux indices : d’abord la ligne, puis la colonne. salle[1][2] veut dire : ligne 1, colonne 2.

On compte toujours à partir de 0.

À toi : la salle de cinéma

Code: python
# 0 = place libre, 1 = place prise
salle = [
    [0, 1, 1, 0],
    [1, 0, 0, 0],
    [0, 0, 1, 1],
]
print(salle[0])
print(salle[1][0])
print(salle[2][3])

# Affiche la place du rang 2, colonne 2.
# Que dit-elle : libre ou prise ?

Exemple travaillé : repérer une place

LigneColonne 0Colonne 1Colonne 2Colonne 3
Ligne 00110
Ligne 11000
Ligne 20011
salle[2][3]ligne 2colonne 3valeur 1place prise

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Changer une case

Pour changer une case, écris ses deux indices, puis = et la nouvelle valeur.

Pour compter toutes les places prises, il faut voir chaque case. On utilise une boucle dans une boucle : la première prend chaque ligne, la seconde chaque case de cette ligne.

À toi : compter les places prises

Code: python
salle = [
    [0, 1, 1, 0],
    [1, 0, 0, 0],
    [0, 0, 1, 1],
]
salle[1][1] = 1            # quelqu’un s’assoit
prises = 0
for rang in salle:
    for place in rang:
        if place == 1:
            prises = prises + 1
print("Places prises :", prises)

# Fais asseoir quelqu’un en ligne 0, colonne 0. Relance.

Contrôle rapide

À toi de jouer

Contrôle rapide

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Le piège de la copie

Code: python
# Mauvaise idée : les trois lignes sont la même liste.
mauvaise = [[0, 0, 0]] * 3
mauvaise[0][0] = 9
print(mauvaise)

# Bonne idée : on fait trois listes différentes.
bonne = []
for i in range(3):
    bonne.append([0, 0, 0])
bonne[0][0] = 9
print(bonne)

La leçon continue

6 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.