Funkcia map () použije danú funkciu na každú položku iterovateľnej položky (zoznam, n-tica atď.) A vráti zoznam výsledkov.
Syntax map()
je:
mapa (funkčná, iterovateľná, …)
parameter map ()
- function -
map()
odovzdá každej položke iterácie tejto funkcii. - iterable - iterable ktorý sa má mapovať
Funkcii môžete odovzdať viac ako jednu iterovateľnú položku map()
.
Návratová hodnota z mapy ()
map()
Funkcia sa vzťahuje daná fungovať na každú položku iterable a vráti zoznam výsledkov.
Vrátenú hodnotu z map()
(mapového objektu) je možné potom odovzdať funkciám ako list () (na vytvorenie zoznamu), set () (na vytvorenie množiny) atď.
Príklad 1: Pracovanie s mapou ()
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)
Výkon
(16, 1, 4, 9)
Vo vyššie uvedenom príklade je každá položka n-tice štvorcová.
Pretože map()
očakáva odovzdanie funkcie, pri práci s map()
funkciami sa bežne používajú funkcie lambda .
Funkcia lambda je krátka funkcia bez názvu. Navštívte túto stránku a dozviete sa viac o funkcii Python lambda.
Príklad 2: Ako používať funkciu lambda s 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)
Výkon
(16, 1, 4, 9)
Nie je rozdiel vo funkciách tohto príkladu a príkladu 1 .
Príklad 3: Prenesenie viacerých iterátorov do mapy () pomocou Lambda
V tomto príklade sú pridané zodpovedajúce položky dvoch zoznamov.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Výkon
(9, 11, 13)