Les compréhensions de liste en Python
Les compréhensions de liste en Python sont des outils puissants qui permettent de créer et de manipuler des listes de manière concise et lisible.
Dans cet article, nous allons explorer le concept de compréhension de liste, ses avantages, et comment l'utiliser efficacement dans vos projets Python.
Qu'est-ce qu'une compréhension de liste ?
Une compréhension de liste est une expression compacte pour construire une nouvelle liste en appliquant une fonction à chaque élément d'une autre liste ou d'un autre itérable. La syntaxe générale d'une compréhension de liste est la suivante :
[expression for item in iterable if condition]
Où :
expression
est l'opération ou la fonction à appliquer à chaque élément de l'itérable.item
est une variable temporaire qui représente chaque élément de l'itérable.iterable
est la liste ou l'objet itérable dont on souhaite traiter les éléments.condition
est une condition optionnelle pour filtrer les éléments de l'itérable.
Supposons que nous ayons une liste de nombres et que nous voulions créer une nouvelle liste contenant les carrés de ces nombres. Voici comment nous pourrions utiliser une compréhension de liste pour accomplir cela :
nombres = [1, 2, 3, 4, 5]
carres = [x**2 for x in nombres]
print(carres) # Résultat : [1, 4, 9, 16, 25]
Dans cet exemple, x**2
est l'expression qui calcule le carré de chaque élément, et x
est la variable temporaire qui représente chaque élément de la liste nombres.
Utilisation de conditions
Il est possible d'ajouter une condition pour filtrer les éléments de la liste d'entrée. Par exemple, si nous voulons obtenir les carrés des nombres pairs uniquement, nous pouvons ajouter une condition if comme suit :
nombres = [1, 2, 3, 4, 5]
carres_pairs = [x**2 for x in nombres if x % 2 == 0]
print(carres_pairs) # Résultat : [4, 16]
Dans cet exemple, la condition x % 2 == 0
vérifie si un nombre est pair.
Avantages des compréhensions de liste
-
Lisibilité : Les compréhensions de liste rendent le code plus lisible et compréhensible en évitant l'utilisation de boucles
for
etif
imbriquées. -
Concision : Elles permettent d'écrire des opérations complexes sur les listes en une seule ligne de code.
-
Performance : Les compréhensions de liste sont généralement plus rapides que les boucles for traditionnelles, car elles sont optimisées pour les opérations sur les listes.