Exercice 20 / 100

List comprehension

Cré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".

Une compréhension se lit comme un trajet : on parcourt la séquence, on prend chaque élément, on lui applique l'expression, et le résultat forme la liste

Exemples

# 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 mot mots = ['python', 'sql', 'data'] [len(m) for m in mots] # → [6, 3, 4]
# Mettre en majuscules [m.upper() for m in mots] # → ['PYTHON', 'SQL', 'DATA']

Avantages

- Plus court (1 ligne au lieu de 3) - Plus rapide (Python optimise) - Lisible pour les transformations simples

Ne 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.

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →