Python Kokebok av
Diskusjon
Brukemap
medNone
som det første argumentet Er en subtil variasjon av standarden map
samtale, som vanligvis tar en funksjon som det første argumentet. Som dokumentasjonen indikerer, hvis det første argumenteter None
, brukes identitetsfunksjonen som funksjonen som argumentene tilordnes. Hvis det er flere listeargumenter, map
returnerer en listeconsisting av tupler som inneholder tilsvarende elementer fra alllister (med andre ord, det er en slags transposeoperasjon). Listeargumentene kan være noen form for sekvens, og resultatet er alltid en liste.
Merk at den første teknikken returnerer None
forsekvenser der det ikke er flere elementer. Derfor er utgangen av den første sløyfen:
Map:a1 b1a2 b2a3 None
zip
lar deg iterere overslistene på en lignende måte, men bare opp til antall elementer iden minste listen. Derfor er utgangen av den andre teknikken:
Zip:a1 b1a2 b2
Python 2.0 introdusert liste comprehensions, med en syntaks som somefound litt rart:
dette gjentar over listenb
for hvert element i a
. Disse elementene er satt inn i en tuple (x,
y)
. Vi itererer deretter gjennom den resulterende listen oftuples i den ytrefor
loop. Utgangen avden tredje teknikken er derfor ganske annerledes:
List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2
Leave a Reply