Menu
Coddy logo textTech

La función Map

Parte de la sección Logic & Flow del Journey de Python de Coddy — lección 72 de 78.

La función map() recibe dos cosas principales:

  1. Una función (que contiene instrucciones sobre qué hacer)
  2. Una secuencia de elementos (como una lista o cualquier colección de elementos)

Luego aplica esa función a cada elemento de su secuencia, uno por uno, y le devuelve todos los resultados.

Por ejemplo:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # Esta es solo una lista de números
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Salida: [1, 4, 9, 16, 25]

Qué sucedió aquí:

  • Tenemos una lista de números: [1, 2, 3, 4, 5]
  • La función map() toma cada número, uno a la vez
  • Pasa cada número a través de nuestra función square
  • Recopila todos los resultados en orden

Puedes pensarlo como una línea de ensamblaje:

  1. Entra el número 1 → la función square lo convierte en 1
  2. Entra el número 2 → la función square lo convierte en 4
  3. Entra el número 3 → la función square lo convierte en 9 Y así sucesivamente...

También puedes usar una función lambda en lugar de definir una función separada:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Salida: [1, 4, 9, 16, 25]

La función map() funciona con cualquier colección de elementos, no solo números. Podrían ser cadenas o cualquier otro tipo de datos que desees procesar de la misma manera.

challenge icon

Desafío

Fácil

Crea una función llamada convert_to_uppercase que tome una lista de cadenas strings como argumento. La función debe utilizar la función map() junto con una función lambda para convertir cada cadena de la lista a mayúsculas. La función debe devolver una lista que contenga las cadenas en mayúsculas.

Hoja de referencia

La función map() aplica una función a cada elemento de una secuencia y devuelve los resultados:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Salida: [1, 4, 9, 16, 25]

También puedes usar funciones lambda con map():

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Salida: [1, 4, 9, 16, 25]

La función map() funciona con cualquier tipo de datos, no solo con números.

Pruébalo tú mismo

def convert_to_uppercase(strings):
    # Usa map() con una función lambda para convertir las cadenas a mayúsculas
    uppercase_strings = 
    
    # Devuelve la lista de cadenas en mayúsculas
    return list(uppercase_strings)
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Logic & Flow