PythonLeçon 12 sur 16

Listes en compréhension en Python

Une compréhension de liste construit une liste à partir d’une autre, en peu de mots. Ce qui demande d’habitude une boucle et append tient sur une ligne.

L’essentiel

  • [expression for x in liste] crée une liste d’éléments transformés
  • [x for x in liste if condition] ne garde que ceux qui conviennent
  • La liste de départ reste intacte
  • sum(), min(), max() et len() s’utilisent directement sur le résultat
  • Si la ligne devient illisible, revenez à une boucle classique

Exemple

squares = [n * n for n in range(1, 6)]print(squares) names = ["anna", "leo", "mia"]print([name.title() for name in names]) prices = [90, 450, 120, 700]cheap = [p for p in prices if p < 200]print(cheap)

Trois compréhensions : des carrés, des prénoms avec majuscule et seulement les petits prix. Chacune remplace une boucle de trois lignes.

Exercice

Utiliser l’éditeur⌘ Entrée ou Ctrl Entrée lance le code, ⇧ ⌘ Entrée vérifie l’exercice.Tab et Maj Tab indentent la ligne ou la sélection ; Échap puis Tab quitte l’éditeur.La vérification compare ce que le programme a affiché à l’exercice ; les espaces en fin de ligne ne comptent pas.Après deux vérifications ratées, la solution s’ouvre. Votre code reste dans ce navigateur.

Le carnet météo contient cinq températures. Réécrivez warm en compréhension de liste pour ne garder que les jours à 20 degrés ou plus. La moyenne suit toute seule.

Sortie

Ce que le programme affiche apparaîtra ici.