Python map() funkcija

žemėlapis () funkcija grąžina rezultatų žemėlapio objektą (kuris yra iteratorius), pritaikius nurodytą funkciją kiekvienam nurodytos iteruojamo elemento elementui (sąrašas, eilutė ir kt.)

Python map() Funkcijos sintaksė

Sintaksė : žemėlapis (pramogos, iter)

Parametrai:

  • linksma: Tai funkcija, kuriai žemėlapis perduoda kiekvieną nurodytos iteracijos elementą.
  • iter: Tai kartojama, kuri turi būti atvaizduota.

PASTABA: Galite perduoti vieną ar daugiau kartotinių į map() funkciją.

Grąžinimai: Grąžina rezultatų sąrašą pritaikius nurodytą funkciją kiekvienam nurodytos iteracijos elementui (sąrašas, eilutė ir kt.)

PASTABA: Grąžinta vertė iš map() (žemėlapio objektas) gali būti perduodama tokioms funkcijoms kaip list() (sąrašui sukurti), set() (sukurti rinkinį).

map() Python pavyzdžiuose

Map() demonstravimas Python

Šiame pavyzdyje demonstruojame map() funkciją Python .

Python3




# Python program to demonstrate working> # of map.> # Return double of n> def> addition(n):> > return> n> +> n> # We double all numbers using map()> numbers> => (> 1> ,> 2> ,> 3> ,> 4> )> result> => map> (addition, numbers)> print> (> list> (result))>

Išvestis

[2, 4, 6, 8] 

map() su Lambda išraiškomis

Taip pat galime naudoti lambda išraiškos su žemėlapiu, kad pasiektumėte aukščiau esantį rezultatą. Šiame pavyzdyje mes naudojame map() su lambda išraiška.

Python3




# Double all numbers using map and lambda> numbers> => (> 1> ,> 2> ,> 3> ,> 4> )> result> => map> (> lambda> x: x> +> x, numbers)> print> (> list> (result))>

Išvestis

[2, 4, 6, 8] 

Pridėkite du sąrašus naudodami žemėlapį ir lambda

Šiame pavyzdyje mes naudojame žemėlapį ir lambda, kad pridėtume du sąrašus.

Python3




# Add two lists using map and lambda> numbers1> => [> 1> ,> 2> ,> 3> ]> numbers2> => [> 4> ,> 5> ,> 6> ]> result> => map> (> lambda> x, y: x> +> y, numbers1, numbers2)> print> (> list> (result))>

Išvestis

[5, 7, 9] 

Keisti eilutę naudojant map()

Šiame pavyzdyje eilutei modifikuoti naudojame funkciją map(). Galime sukurti žemėlapį iš kartotinės Python.

Python3




# List of strings> l> => [> 'sat'> ,> 'bat'> ,> 'cat'> ,> 'mat'> ]> # map() can listify the list of strings individually> test> => list> (> map> (> list> , l))> print> (test)>

Išvestis

[['s', 'a', 't'], ['b', 'a', 't'], ['c', 'a', 't'], ['m', 'a', 't']] 

Laiko sudėtingumas : O(n), kur n yra elementų skaičius įvesties sąraše l.
Pagalbinė erdvė : O(n)

jei pareiškimas su žemėlapiu ()

Pavyzdyje funkcija double_even() padvigubina lyginius skaičius, o nelyginius skaičius palieka nepakeistus. Funkcija map() naudojama šiai funkcijai pritaikyti kiekvienam skaičių sąrašo elementui, o funkcijoje naudojamas teiginys if, kad būtų atlikta būtina sąlyginė logika.

Python3




# Define a function that doubles even numbers and leaves odd numbers as is> def> double_even(num):> > if> num> %> 2> => => 0> :> > return> num> *> 2> > else> :> > return> num> # Create a list of numbers to apply the function to> numbers> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ]> # Use map to apply the function to each element in the list> result> => list> (> map> (double_even, numbers))> # Print the result> print> (result)> # [1, 4, 3, 8, 5]>

Išvestis

[1, 4, 3, 8, 5] 

Laiko sudėtingumas : O(n)
Pagalbinis sudėtingumas: O(n)