La función map () aplica una función dada a cada elemento de un iterable (lista, tupla, etc.) y devuelve una lista de los resultados.
La sintaxis de map()
es:
mapa (función, iterable,…)
parámetro map ()
- función :
map()
pasa cada elemento del iterable a esta función. - iterable - iterable que se va a mapear
Puede pasar más de un iterable a la map()
función.
Valor devuelto del mapa ()
La map()
función aplica una función to dada a cada elemento de un iterable y devuelve una lista de los resultados.
El valor devuelto de map()
(objeto de mapa) se puede pasar a funciones como list () (para crear una lista), set () (para crear un conjunto) y así sucesivamente.
Ejemplo 1: funcionamiento del mapa ()
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)
Salida
(16, 1, 4, 9)
En el ejemplo anterior, cada elemento de la tupla está al cuadrado.
Dado que map()
espera que se pase una función, las funciones lambda se usan comúnmente al trabajar con map()
funciones.
Una función lambda es una función corta sin nombre. Visite esta página para obtener más información sobre la función lambda de Python.
Ejemplo 2: ¿Cómo usar la función lambda con 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)
Salida
(16, 1, 4, 9)
No hay diferencia en las funcionalidades de este ejemplo y el Ejemplo 1 .
Ejemplo 3: pasar varios iteradores a map () con Lambda
En este ejemplo, se agregan los elementos correspondientes de dos listas.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Salida
(9, 11, 13)