← Volver

La función map()

La función incorporada (i.e no necesita importarse) map() ejecuta una función sobre cada uno de los elementos de un iterador (generalmente una lista o tupla) y retorna un nuevo iterador cuyos elementos son el resultado de dicha operación.

Por ejemplo, el siguiente código define una función dup(n) que retorna el doble de su argumento, y la aplica a cada uno de los elementos de la lista [1, 2, 3, 4] vía map().

>>> def dup(n):
... return n * 2
...
>>> list(map(dup, [1, 2, 3, 4]))
[2, 4, 6, 8]

(Nótese que, para observar el resultado en pantalla, es necesario primero convertir el iterador resultante a una lista).

map() puede ejecutar una función sobre varios iteradores simultáneamente. En ese caso, la función pasada como primer argumento debe esperar tantos parámetros como iteradores se hayan pasado.

>>> def mult(a, b):
... return a * b
...
>>> list(map(mult, [1, 2, 3, 4], [5, 6, 7, 8]))
[5, 12, 21, 32]

En este caso, la función mult() retorna el producto de sus dos argumentos, y es aplicada por map() a las listas especificadas del siguiente modo: mult(1, 5), mult(2, 5), mult(3, 7), etc.

¿Alguna duda sobre este código? ¡Preguntanos en el foro!