C'est LE truc qui rend Python élégant. Tu veux créer une liste à partir d'une autre ?
Méthode classique (Moche)
nombres = [1, 2, 3, 4, 5]
carres = []
for n in nombres:
carres.append(n ** 2)
print(carres) # [1, 4, 9, 16, 25]
Méthode Pythonique (Beau gosse)
nombres = [1, 2, 3, 4, 5]
carres = [n ** 2 for n in nombres]
Ça se lit : "La liste des n au carré pour chaque n dans nombres".
Avec Condition
# Garder seulement les nombres pairs
pairs = [n for n in nombres if n % 2 == 0]
C'est compact, lisible, et souvent plus rapide. Use et abuse-en.