Funkcija map () primjenjuje zadanu funkciju na svaku stavku iterativa (popis, skup itd.) I vraća popis rezultata.
Sintaksa map()
je:
karta (funkcija, iterabilna, …)
parametar karte ()
- funkcija -
map()
prosljeđuje svaku stavku iterablea ovoj funkciji. - iterable - iterable koji treba preslikati
Možete dodati više od jednog iterabilnog u map()
funkciju.
Povratna vrijednost s karte ()
map()
Funkcija odnosi dani na funkciji do svake stavke angažiranje iterable i vraća popis rezultata.
Vraćena vrijednost iz map()
(objekt mape) može se zatim proslijediti funkcijama poput list () (za stvaranje popisa), set () (za stvaranje skupa) i tako dalje.
Primjer 1: Rad karte ()
def calculateSquare(n): return n*n numbers = (1, 2, 3, 4) result = map(calculateSquare, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Izlaz
(16, 1, 4, 9)
U gornjem primjeru svaka je stavka korpice u kvadratu.
Budući da map()
očekuje prosljeđivanje funkcije, lambda funkcije se obično koriste tijekom rada s map()
funkcijama.
Lambda funkcija je kratka funkcija bez imena. Posjetite ovu stranicu da biste saznali više o Python lambda funkciji.
Primjer 2: Kako koristiti lambda funkciju s mapom ()?
numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Izlaz
(16, 1, 4, 9)
Nema razlike u funkcionalnostima ovog primjera i primjera 1 .
Primjer 3: Prosljeđivanje više iteratora na mapiranje () pomoću Lambde
U ovom su primjeru dodane odgovarajuće stavke s dva popisa.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Izlaz
(9, 11, 13)