Listes en Python et compréhension : fiche de Première
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
Une liste se construit de deux façons : par énumération (on écrit chaque élément) ou en compréhension (on donne une règle).
En compréhension, on écrit une expression, une boucle for, et éventuellement une condition if qui filtre.
[x**2 for x in range(10)] donne les carrés des entiers de 0 à 9 ; avec if x % 2 == 0, on ne garde que les pairs.
Une liste en compréhension sert à calculer les images d'une fonction et à préparer le tracé d'une courbe.
Pièges principaux : les indices commencent à 0 et range(n) s'arrête avant n.
Ce qu'est une liste
Pour définir une liste, on a le choix, comme pour un ensemble en mathématiques : on peut citer ses éléments un par un (énumération), ou donner une règle qui les décrit (compréhension) 1. Il faut connaître les deux écritures.
La compréhension de liste
Méthode pour écrire une compréhension
À quoi ça sert en mathématiques
Une liste en compréhension calcule d'un coup les images d'une fonction. Le programme cite l'écriture [f(x) for x in abscisse] pour préparer le tracé d'une courbe 1.
À retenir et pièges
Questions flash
4 questions · correction immédiate · ton score reste sur ton appareil.
range(10) donne les entiers de 0 à 9, et x**2 calcule leur carré. La deuxième réponse oublie 0, car range(1, 10) commence à 1. La troisième va jusqu'à 10 puisque range(11) s'arrête à 10. La dernière calcule des doubles, pas des carrés.
C'est faux : énumérer les éléments est l'autre façon de définir une liste. En compréhension, on décrit le contenu par une règle, comme pour un ensemble en mathématiques.
Les entiers de 0 à 9 qui vérifient la condition sont 0, 2, 4, 6 et 8, soit 5 éléments. L'erreur tentante est de répondre 10, en oubliant que le filtre if écarte les impairs.
Pour k = 0, 1, 2, 3, on obtient 1, 4, 7 et 10. La deuxième réponse suppose que k commence à 1. La troisième oublie le « +1 ». La dernière ne prend que trois valeurs de k alors que range(4) en donne quatre.
Les questions qu'on se pose
Quelle différence entre une liste par énumération et une liste en compréhension ?
Par énumération, tu écris chaque élément toi-même. En compréhension, tu donnes une règle et Python construit la liste, ce qui rappelle la définition en compréhension d'un ensemble 13. Dès que la liste est longue ou suit une formule, la compréhension est plus pratique.
Pourquoi `range(10)` ne contient-il pas 10 ?
range(n) produit les entiers de 0 à n - 1. Ce choix donne exactement n valeurs en partant de 0. Pour inclure 10, écris range(11).
Est-ce que je dois connaître d'autres structures que les listes ?
En Première, le programme se limite aux listes, sans présenter d'autres types de collections 1. Concentre-toi sur la lecture et l'écriture de listes, y compris en compréhension.