Python Cookbook by
Discussion
Using map
withNone
as the first argument is a hienovarainen muunnelma standardistamap
kutsu, joka tyypillisesti ottaa funktion ensimmäiseksi argumentiksi. Kuten dokumentaatiosta käy ilmi, jos ensimmäinen argumentti None
, käytetään identiteettifunktiota funktiona, jonka kautta argumentit kartoitetaan. Jos on olemassa moniosaisia luetteloargumentteja, map
palauttaa listan, joka sisältää kaikki vastaavat alkiot (toisin sanoen kyseessä on eräänlainen transposeoperaatio). Luettelon argumentit voivat olla mitä tahansa järjestyksessä, ja tulos on aina luettelo.
huomaa, että ensimmäinen tekniikka palauttaa None
seuraukset, joissa ei ole enää elementtejä. Siksi ensimmäisen silmukan ulostulo on:
Map:a1 b1a2 b2a3 None
zip
voit iteroida listojen yli samalla tavalla, mutta vain pienimmän luettelon alkuaineiden määrään asti. Siksi toisen tekniikan ulostulo on:
Zip:a1 b1a2 b2
Python 2.0 esitteli listan käsityksiä, joiden syntaksi oli jokseenkin outo:
tämä iteroi luettelonb
jokaiselle a
. Nämä elementit laitetaan tuplaan (x,
y)
. Sen jälkeen iteroidaan tuloksena olevan oheislistan kautta uloimmassa for
silmukka. Kolmannen tekniikan lähtö on siis aivan erilainen:
List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2
Leave a Reply