Livre de recettes Python par
Discussion
En utilisant map
avec None
comme premier argument est une variation subtile de la normemap
appel, qui prend généralement une fonction comme premier argument. Comme l’indique la documentation, si le premier argument est None
, la fonction d’identité est utilisée comme fonction par laquelle les arguments sont mappés. S’il y a plusieurs arguments de liste, map
renvoie une listconsistant à des tuples contenant les éléments correspondants de toutes les listes (en d’autres termes, c’est une sorte de transposeoperation). Les arguments de liste peuvent être n’importe quel type de séquence, et theresult est toujours une liste.
Notez que la première technique renvoie None
pour des séquences dans lesquelles il n’y a plus d’éléments. Par conséquent, la sortie de la première boucle est:
Map:a1 b1a2 b2a3 None
zip
vous permet de parcourir les listes de manière similaire, mais uniquement jusqu’au nombre d’éléments de la plus petite liste. Par conséquent, la sortie de la deuxième technique est la suivante:
Zip:a1 b1a2 b2
Python 2.0 a introduit des compréhensions de liste, avec une syntaxe un peu étrange:
Cela itère sur la liste b
pour chaque élément de a
. Ces éléments sont placés dans un tuple (x,
y)
. Nous parcourons ensuite la liste résultante des multiples dans la boucle for
la plus externe. La sortie de la troisième technique est donc assez différente:
List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2
Leave a Reply