Ce face map()
map(f, colectie) produce f(x) pentru fiecare element x. Cu mai multe colecții, funcția primește câte un element din fiecare. Rezultatul este un iterator; îl transformi în listă cu list().
Este cel mai util cu funcții existente: map(int, texte), map(str.strip, randuri). Cu un lambda, o list comprehension este de obicei mai ușor de citit. Din Python 3.14, strict=True verifică dacă toate colecțiile au aceeași lungime.
Parametri
| Parametru | Descriere |
|---|---|
functie |
Funcția aplicată fiecărui element. |
iterabil, *iterabile |
Una sau mai multe colecții. |
strict |
Opțional (Python 3.14+). Eroare dacă lungimile diferă. |
Ce returnează
Un iterator map.
Exemple
Exemplul 1: Conversia unor texte în numere
text = "12 7 30 5"
numere = list(map(int, text.split()))
print(numere, sum(numere))
print(list(map(str.upper, ["iași", "cluj"])))
Rezultat
[12, 7, 30, 5] 54
['IAȘI', 'CLUJ']
Exemplul 2: Două liste deodată
preturi = [4.5, 7, 32.9]
cantitati = [2, 3, 1]
print(list(map(lambda p, c: p * c, preturi, cantitati)))
print(list(map(pow, [2, 3, 4], [3, 2, 1])))
Rezultat
[9.0, 21, 32.9]
[8, 9, 4]
Greșeli frecvente
- Afișezi direct
map(...)și vezi<map object at ...>. Transformă rezultatul culist(). - Parcurgi același obiect
mapde două ori; a doua oară este gol.
Comenzi înrudite
filter(): Păstrează doar elementele pentru care o funcție returnează o valoare adevărată.List comprehension: Construiește o listă nouă dintr-o altă colecție, într-un singur rând.lambda: Creează o funcție mică, fără nume, scrisă pe un singur rând.itertools.starmap(): Aplică o funcție pe tupluri, despachetând fiecare tuplu în argumente.