Articles

Python Cookbook by

Discussion

Using mapwithNoneas the first argument is a hienovarainen muunnelma standardistamapkutsu, 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