A Byte of Python

Més sobre llistes

De vegades volem generar una nova llista a partir d'una llista existent. Per exemple, si disposem d'una llista de números i volem obtenir una llista amb els números de la primera multiplicats per dos, però incloent només aquells números de la primera que siguin més grans que dos. En aquestes situacions funciona molt bé la següent funcionalitat de selecció dins les llistes.

Ús de la selecció dins les llistes

Example 15.1. Ús de la selecció dins les llistes

				
#!/usr/bin/python
# Filename: list_comprehension.py

listone = [2, 3, 4]
listtwo = [2*i for i in listone if i > 2]
print listtwo
				
				

Sortida

				
$ python list_comprehension.py
[6, 8]
				
				

Com funciona

El programa genera una nova llista a partir de l'especificació del càlcul a realitzar (2*i) sobre els elements de la primera llista que satisfan una certa condició (if i > 2). La llista original no és modificada. Sovint aquesta funcionalitat la realitzem amb bucles, però aquest mecanisme ens ofereix una forma més compacta, precisa i explícita de realitzar-ho.