Articles

Python Cookbook da

Discussione

Con map con None come primo argomento è una sottile variazione di standardmap chiamata, che richiede in genere una funzione come primo argomento. Come indica la documentazione, se il primo argomentoèNone, la funzione identity viene utilizzata come funzione attraverso la quale vengono mappati gli argomenti. Se ci sono più argomenti di elenco,map restituisce un listconsisting di tuple che contengono gli elementi corrispondenti da alllist (in altre parole, è una sorta di transposeoperation). Gli argomenti della lista possono essere qualsiasi tipo di sequenza e theresult è sempre una lista.

Si noti che la prima tecnica restituisceNone forsequences in cui non ci sono più elementi. Pertanto, l’output del primo ciclo è:

Map:a1 b1a2 b2a3 None

zip consente di scorrere le liste in modo simile, ma solo fino al numero di elementi dell’elenco più piccolo. Pertanto, l’uscita della seconda tecnica è:

Zip:a1 b1a2 b2

Python 2.0 ha introdotto list comprehensions, con una sintassi che somefound un po ‘ strano:


Questa iterazione listb per ogni elemento a. Questi elementi vengono inseriti in una tupla (x,y). Quindi scorrere l’elenco risultante dituple nel ciclo for più esterno. L’output della terza tecnica, quindi, è molto diverso:

List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2