Les list-comprehension en python

L’utilisation des list-comprehension en Python permet de génèrer des listes de manière compacte sans avoir recours a des boucles ou aux fonctions classiques (map(), filter(), … ).

Code classique:

sentence = « My name is John ».split()
sentenceMaj = []
for word in sentence:
sentenceMaj.append(word.upper() )

Utilisation des list-comprehension :

sentence = « My name is John ».split()
sentenceMaj = [word.upper() for word in sentence]

 

Les list-compréhension peuvent aussi comporter des calculs :

nombrePairs = [2 * nb for nb in range (10)]

 

Ainsi que des conditions :

nombres = [-1, 4, 8, -7, 9]

nombresPositifs = [nb for nb in nombres if nb > 0 ]

nombresPositifNotNull = [nb for nb in nombres if nb > 0 and nb != 0]

 

Il devient alors très simple de remanier des listes sans utiliser les boucles et selon la logique python est respectée :

Simple is better than complex.

Attention cependant à ce que le code ne deviennent pas illisible :

Readability counts.

 

Sur ce bonne fêtes de fin d’année !

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s