Funció Python map().

mapa () La funció retorna un objecte de mapa (que és un iterador) dels resultats després d'aplicar la funció donada a cada element d'un iterable donat (llista, tupla, etc.)

Sintaxi de la funció Python map().

Sintaxi : mapa (divertit, iter)

Paràmetres:

  • diversió: És una funció a la qual el mapa passa cada element d'iterable donat.
  • iter: És iterable el que s'ha de cartografiar.

NOTA: Podeu passar un o més iterables a la funció map().

Devolucions: Retorna una llista dels resultats després d'aplicar la funció donada a cada element d'una iterable determinada (llista, tupla, etc.)

NOTA : El valor retornat de map() (objecte del mapa) es pot passar a funcions com list() (per crear una llista), set() (per crear un conjunt).

map() en exemples de Python

Demostració de map() en Python

En aquest exemple, estem demostrant la funció map() a Python .

Python 3




# 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))>

Sortida

[2, 4, 6, 8] 

map() amb expressions Lambda

També podem utilitzar expressions lambda amb mapa per aconseguir el resultat anterior. En aquest exemple, estem utilitzant map() amb expressió lambda.

Python 3




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

Sortida

[2, 4, 6, 8] 

Afegeix dues llistes amb map i lambda

En aquest exemple, estem utilitzant map i lambda per afegir dues llistes.

Python 3




# 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))>

Sortida

[5, 7, 9] 

Modifiqueu la cadena utilitzant map()

En aquest exemple, estem utilitzant la funció map() per modificar la cadena. Podem crear un mapa a partir d'un iterable en Python.

Python 3




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

Sortida

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

Complexitat temporal : O(n), on n és el nombre d'elements de la llista d'entrada l.
Espai auxiliar : O(n)

Declaració if amb map()

A l'exemple, la funció double_even() duplica els nombres parells i deixa els senars sense canvis. La funció map() s'utilitza per aplicar aquesta funció a cada element de la llista de números, i s'utilitza una instrucció if dins de la funció per dur a terme la lògica condicional necessària.

Python 3




# 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]>

Sortida

[1, 4, 3, 8, 5] 

Complexitat temporal : O(n)
Complexitat auxiliar: O(n)