Leçon 5 / 9 — Chapitre 3: Compréhensions et tri de données
Compréhension imbriquée sur une liste de listes
Quand on a une liste de listes, une compréhension peut parcourir chaque sous-liste avec deux for à la suite, dans l'ordre ou on les ecrirait avec des boucles imbriquées classiques.
groupes = [[1, 2, 3], [4, 5]]
tous = [n for groupe in groupes for n in groupe]
print(tous)
Ce code affiche [1, 2, 3, 4, 5]. Le premier for groupe in groupes parcourt chaque sous-liste, et le second for n in groupe parcourt les nombres à l'intérieur de cette sous-liste — les deux boucles s'ecrivent l'une après l'autre, dans le même ordre qu'on les imbriquerait normalement.
Cette même compréhension, ecrite avec des boucles classiques, donnerait :
tous = []
for groupe in groupes:
for n in groupe:
tous.append(n)
Les deux versions produisent exactement le même résultat ; au-dela de deux niveaux, une compréhension imbriquée devient vite difficile à relire — mieux vaut alors repasser à des boucles classiques.
A vous de jouer : avec une liste de listes de nombres, ecrivez une compréhension imbriquée qui rassemble tous les nombres dans une seule liste plate.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès