Python Cookbook
Diskuse
Pomocí map
None
jako první argument je subtilní variace standardnímap
zavolejte, což obvykle trvá funkci jako první argument. Jako dokumentaci označuje, je-li první argumentis None
, funkce identity slouží jako funkce, přes které argumenty jsou mapovány. Pokud tam aremultiple seznam argumentů map
vrací listconsisting z n-tice, které obsahují odpovídající položky z alllists (jinými slovy, je to druh transposeoperation). Seznam argumentů může být jakýkoliv druh sekvence, a theresult je vždy seznam.
Všimněte si, že první technika vrací None
za důsledky, ve kterých nejsou žádné další prvky. Proto je výstup první smyčky:
Map:a1 b1a2 b2a3 None
zip
umožňuje iterovat nad seznamy podobným způsobem, ale pouze do počtu prvků nejmenší z seznamu. Proto je výstup, druhý způsob je:
Zip:a1 b1a2 b2
Python 2.0 zavedena list comprehensions, s syntaxe že somefound trochu divné:
Tento iteruje přes seznamb
pro každý prvek a
. Tyto prvky jsou vloženy do n-tice (x,
y)
. Poté iterujeme výsledným seznamem tuples v nejvzdálenější smyčce for
. Výstup třetí techniky je tedy zcela odlišný:
List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2
Leave a Reply