Listes en compréhension
Nous allons voir dans cette partie une manière très efficace de définir des listes.
Exemple : Un premier exemple
Copier l'exemple ci-dessous et exécuter-le.
liste1=[i*i for i in range(1,11)]
for truc in liste1:
print(truc)
Que contient la variable liste1 ?
A-t-on eu besoin de de donner explicitement tout les termes de la liste ?
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éfinition : Liste 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 :
[expr for i in L]
où
la paire de crochets, les mots-clefs
foretinsont obligatoiresLest, par exemple, une listeiest l’élément courant qui parcourt la listeL;iest appelé variable de contrôle de la liste en compréhensionexprest une expression qui dépend en général deiet dont la valeur est placée dansliste
Exemple : Un deuxième exemple, un peu plus subtil
liste2=[i*i for i in range(1,31) if i%3==0]
liste3=[5*i for i in liste2 if i%2==0]
Que contient liste2 ?
Que contient liste3 ?
Exemple : Exemple 3
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 !