Articles

Python Cookbook

Diskuse

Pomocí mapNone 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