Articles

Python carte de bucate de

discuție

folosind map cu None ca thefirst argument este o variație subtilă a standarduluimap apel, care are de obicei o funcție ca thefirst argument. După cum indică documentația, dacă primul argumenteste None, funcția de identitate este utilizată cafuncția prin care sunt mapate argumentele. Dacă existămultiple argumente listă, map returnează o listăconstând din tupluri care conțin elementele corespunzătoare din alllists (cu alte cuvinte, este un fel de transposeoperation). Argumentele lista poate fi orice fel de secvență, șirezultatul este întotdeauna o listă.

rețineți că prima tehnică returneazăNone forsecvențe în care nu mai există elemente. Prin urmare, ieșireaa primei bucle este:

Map:a1 b1a2 b2a3 None

zip vă permite să iterați listele într-un mod similar, dar numai până la numărul de elemente din cea mai mică listă. Prin urmare, rezultatul celei de-a doua tehnici este:

Zip:a1 b1a2 b2

Python 2.0 a introdus comprehensiuni de listă, cu o sintaxă pe care unii au găsit-o un pic ciudată:


aceasta iterează peste listăb pentru fiecare element din a. Aceste elemente sunt puse într-un tuplu (x,y). Apoi iterăm prin lista rezultatătupluri în bucla exterioară for. Prin urmare, rezultatul celei de-a treia tehnici este destul de diferit:

List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2