ConsigneCrée la liste des carrés de 1 à 10 en une ligne avec une list comprehension, puis affiche-la
Une list comprehension est une façon courte et lisible de créer une liste à partir d'une autre séquence, en une seule ligne.
Forme classique (avec for) :
resultat = []for x in range(1, 11): resultat.append(x ** 2)Équivalent en compréhension (1 ligne) :
resultat = [x ** 2 for x in range(1, 11)]Syntaxe générale
[expression for variable in sequence]Lecture mentale : "je veux une liste qui contient expression pour chaque variable dans sequence".
# Carrés de 1 à 10[x ** 2 for x in range(1, 11)]# → [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]# Doubler chaque élément[x * 2 for x in [1, 2, 3]]# → [2, 4, 6]# Longueur de chaque motmots = ['python', 'sql', 'data'][len(m) for m in mots]# → [6, 3, 4]# Mettre en majuscules[m.upper() for m in mots]# → ['PYTHON', 'SQL', 'DATA']- Plus court (1 ligne au lieu de 3)- Plus rapide (Python optimise)- Lisible pour les transformations simplesNe pas en abuser : si l'expression est complexe ou s'il y a plusieurs conditions, une boucle for classique reste plus lisible.
La leçon suivante (Day 21) ajoute un filtre avec if.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →