La función in­co­r­po­ra­da Python map se utiliza para aplicar una función a todos los elementos de una llamada iterable.

Ámbitos de apli­ca­ción de Python map

La función Python map es una forma elegante de procesar el contenido de objetos iterables. Los objetos iterables son objetos de Python sobre los que se puede iterar. Incluyen Python lists, así como Python tuples, por ejemplo. La función map puede uti­li­zar­se en lugar de un bucle for de Python, que revisa cada elemento del iterable. El uso de map es es­pe­cia­l­me­n­te útil si quieres aplicar una misma función a cada uno de estos elementos, que luego puedes pasar a la función como parámetro.

La sintaxis de la función map de Python

La sintaxis de Python map no es co­m­pli­ca­da:

map(function, iterable)
python

Como puedes ver en el ejemplo de código, la función toma dos pa­rá­me­tros. El primer parámetro describe la función que se aplicará a cada elemento de tu iterable y el segundo parámetro es el propio iterable que quieres recorrer. La función devuelve un objeto de la clase Python map al que se aplicó la función que pasaste. Puedes pasar este valor de retorno a funciones como list() o set() de Python para trabajar con los datos.

Python map en la práctica

Para vi­sua­li­zar el co­m­po­r­ta­mie­n­to de la función Python, es útil revisar un ejemplo de código:

def incrementar(n):
	return n + 1
numeros = (0, 1, 2, 3, 4)
resultado = map(incrementar, numeros)
resultado_lista = list(resultado)
python

En primer lugar, el fragmento de código crea una función llamada “in­cre­me­n­tar” que toma un número y hace exac­ta­me­n­te lo que promete su nombre. A co­n­ti­nua­ción, se crea una lista Python llamada “numeros”, que contiene los números del 0 al 4, ambos inclusive. La parte in­te­re­sa­n­te es la llamada a map: a la función se le pasa la función “in­cre­me­n­tar” definida en el código como primer parámetro y la lista “numeros” como segundo parámetro. El resultado se almacena en la variable llamada “resultado”.

Para que puedas seguir tra­ba­ja­n­do con el resultado, la última línea de código del ejemplo convierte el resultado en una lista. Si consultas esta lista usando Python print, por ejemplo, te darás cuenta de que todos los elementos de la lista “numeros” pasados a map se han in­cre­me­n­ta­do en 1. Por tanto, la pantalla mostraría lo siguiente: “(1, 2, 3, 4, 5)”.

Consejo

Python también es muy útil para proyectos web. Con Deploy Now de IONOS puedes desplegar fá­ci­l­me­n­te tus proyectos web a través de GitHub y co­n­s­trui­r­los au­to­má­ti­ca­me­n­te.

Python map con funciones lambda

Si las funciones que pasas a map de Python son si­m­ple­me­n­te funciones que quieres definir para los elementos de tu iterable, puede ser útil pasar la función a la función map como una expresión llamada lambda. Una expresión lambda de Python es bá­si­ca­me­n­te una notación abreviada para funciones que puedes utilizar si quieres usar la función como parámetro. Como las funciones definidas de esta forma no tienen nombre y no pueden llamarse desde ninguna otra parte del código, también se denominan funciones anónimas.

Si vuelves a mirar el ejemplo de código ya explicado para el uso de Python map, también puedes sustituir la función “in­cre­me­n­tar” por una expresión lambda adecuada y acortar así el código:

numeros = (0, 1, 2, 3, 4)
resultado = map(lambda n: n + 1, numeros)
resultado_lista = list(resultado)
python

En el co­m­po­r­ta­mie­n­to del código no cambia prá­c­ti­ca­me­n­te nada. Solo se ha su­s­ti­tui­do la función “in­cre­me­n­tar” por una expresión lambda. Se introduce con la palabra clave “lambda” seguida de un parámetro que, de otro modo, es­cri­bi­rías en la cabecera de tu función. Después de los dos puntos, puedes es­pe­ci­fi­car el retorno de la expresión lambda. Como puedes ver, esta variante del código es si­g­ni­fi­ca­ti­va­me­n­te más corta gracias a la expresión lambda.

Pasar múltiples objetos iterables a Python map

Si quieres procesar dos objetos iterables, también puedes utilizar para ello la función map de Python. Un ejemplo ayuda para vi­sua­li­zar cómo se aplica la función mapa a dos objetos iterables:

a = (2, 3, 4)
b = (3, 4, 5)
resultado = map(lambda x, y: x + y, a, b)
resultado_lista = list(resultado)
python

En el ejemplo anterior, esta vez se crearon dos listas llamadas “a” y “b”, cada una con tres números. La llamada a map vuelve a utilizar una función anónima con una expresión lambda. Sin embargo, ahora esta función toma dos pa­rá­me­tros (x e y) y devuelve su suma. Como pa­rá­me­tros adi­cio­na­les, pasamos ambas listas a Python map y co­n­ve­r­ti­mos el resultado de la llamada a la función de nuevo en una lista. El resultado es “(5, 7, 9)” porque es la suma de los números de las dos listas.

Ir al menú principal