Aller au contenu

Principe général⚓︎

Les listes en compréhension n'existent pas dans tous les langages mais seulement dans certains (Python, Haskell, etc.).

Liste sans condition⚓︎

Supposons que je veuille créer la liste des carrés des entiers de 1 à 100, je peux taper :

🐍 Script Python
maliste = []
for i in range(1, 101):
    maliste.append(i**2)

alors maliste contiendra bien ce qu'il faut.

Voici une autre façon de faire, plus "ramassée" :

🐍 Script Python
maliste = [i**2 for i in range(1, 101)]

que je lis ainsi : maliste est constituée des carrés de i, pour i allant de 1 à 100.

Lien avec les notations mathématiques

En mathématiques, il est fréquent de définir de la même façon des ensembles, par exemple :

\(E=\{x^2 ; x\in ⟦1, 100⟧ \}\)

est l'ensemble des carrés des entiers de 1 à 100.

Ensemble ≠ Liste

Notez qu'un ensemble mathématique n'est pas ordonné, contrairement à une liste. Il existe en Python un type pour les ensembles, à savoir set.

Liste avec condition⚓︎

Je peux également ajouter des conditions, par exemple, si je veux avoir seulement les carrés qui sont inférieurs à 50 :

🐍 Script Python
maliste = [i**2 for i in range(1, 101) if i**2 < 50]