Mapa Pythonu ()

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)

Zaujímavé články...