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))> |
què és uri
>
>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))> |
>
>
com desreferenciar un punter a cSortida
[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)> |
llistes en java
>
>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)