Listes en compréhension

Nous allons voir dans cette partie une manière très efficace de définir des listes.

ExempleUn premier exemple

Copier l'exemple ci-dessous et exécuter-le.

1
liste1=[i*i for i in range(1,11)]
2
for truc in liste1:
3
    print(truc)
  1. Que contient la variable liste1 ?

  2. A-t-on eu besoin de de donner explicitement tout les termes de la liste ?

  3. Modifier le programme de manière à ce que liste1 soit constituée du triple de tous les entiers compris entre 7 et 123 (compris).

DéfinitionListe en compréhension

Définir une liste en compréhension, c'est définir une liste par filtrage d'une autre liste, on en décrit le contenu d'un point de vue logique, sans en écrire tous les éléments.

On définit les éléments qui composent la liste, sans en faire explicitement...la liste !

Une liste en compréhension liste a la syntaxe minimale suivante :

1
[expr for i in L]

  • la paire de crochets, les mots-clefs for et in sont obligatoires

  • L est, par exemple, une liste

  • i est l’élément courant qui parcourt la liste L ; i est appelé variable de contrôle de la liste en compréhension

  • expr est une expression qui dépend en général de i et dont la valeur est placée dans liste

ExempleUn deuxième exemple, un peu plus subtil

1
liste2=[i*i for i in range(1,31) if i%3==0]
2
liste3=[5*i for i in liste2 if i%2==0]
  1. Que contient liste2 ?

  2. Que contient liste3 ?

ExempleExemple 3

1
liste4=[i*j for i in range(1,31) for j in range(1,151) if i%3==0 and j%7==0]

Que contient liste4 ?

Vous pouvez maintenant passer à l'activité sur la page suivante !