Funkcja map () stosuje daną funkcję do każdego elementu iterowalnego (lista, krotka itp.) I zwraca listę wyników.
Składnia map()
to:
map (funkcja, iterowalna,…)
map () Parametr
- funkcja -
map()
przekazuje każdy element iterowalny do tej funkcji. - iterowalny - iterowalny, który ma być mapowany
Do funkcji można przekazać więcej niż jedną iterowalną map()
.
Wartość zwracana z mapy ()
map()
Funkcja ma zastosowanie do danej funkcji do każdego elementu iterable i zwraca listę wyników.
Zwrócona wartość z map()
(obiekt mapy) może być następnie przekazana do funkcji takich jak list () (aby utworzyć listę), set () (aby utworzyć zestaw) i tak dalej.
Przykład 1: Praca z mapą ()
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)
Wynik
(16, 1, 4, 9)
W powyższym przykładzie każdy element krotki jest podniesiony do kwadratu.
Ponieważ map()
oczekuje, że funkcja zostanie przekazana, funkcje lambda są często używane podczas pracy z map()
funkcjami.
Funkcja lambda to krótka funkcja bez nazwy. Odwiedź tę stronę, aby dowiedzieć się więcej o funkcji lambda języka Python.
Przykład 2: Jak używać funkcji lambda z map ()?
numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Wynik
(16, 1, 4, 9)
Nie ma różnicy w funkcjonalności tego przykładu i przykładu 1 .
Przykład 3: Przekazywanie wielu iteratorów do map () przy użyciu Lambda
W tym przykładzie zostaną dodane odpowiadające sobie pozycje z dwóch list.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Wynik
(9, 11, 13)