PyQuiz 36 - map() convierte tipos en Python | Quiz interactivo

PyQuiz 36 – map() convierte tipos en Python

El reto

nums = [1, 2, 3]
resultado = list(map(str, nums))
print(resultado)

¿Cuál es el resultado?

  • a) ['1', '2', '3']
  • b) [1, 2, 3]
  • c) '123'

Piensa tu respuesta antes de seguir leyendo…


Concepto: map() convierte tipos

La función map(funcion, iterable) aplica una función a cada elemento de un iterable y devuelve un objeto map (un iterador perezoso). Para obtener una lista con los resultados, hay que envolver el resultado con list().

Es una forma funcional y eficiente de transformar colecciones sin escribir bucles explícitos. La función puede ser cualquier callable: una función built-in como str, int, o len, una función definida con def, o una función anónima lambda.

# map con función built-in
resultado = list(map(int, ['1', '2', '3']))  # [1, 2, 3]

# map con lambda
resultado = list(map(lambda x: x**2, [1, 2, 3]))  # [1, 4, 9]

# map equivale a una list comprehension:
resultado = [str(x) for x in [1, 2, 3]]  # ['1', '2', '3']

Paso a paso

  1. nums = [1, 2, 3] — Se crea una lista de enteros.
  2. map(str, nums)map aplica la función str a cada elemento de nums: str(1)='1', str(2)='2', str(3)='3'. Devuelve un iterador perezoso.
  3. list(map(str, nums)) — Se materializa el iterador en una lista: ['1', '2', '3'].
  4. resultado = list(map(str, nums)) — Se guarda la lista de strings en resultado.
  5. print(resultado) — Se imprime ['1', '2', '3'].

📥 Llévate el cheatsheet de Python (gratis)

PDF de 6 páginas con lo esencial: tipos, condicionales, bucles, estructuras de datos, funciones y los errores que más vas a cometer. Para tener al lado mientras programas.

Sin spam. Te apuntas a la lista, descargas el cheatsheet y recibes contenido de Python cada semana.

Solución

Respuesta correcta: A) ['1', '2', '3']

map(str, nums) aplica str() a cada elemento: [str(1), str(2), str(3)] = ['1', '2', '3'].

Sabías que…

map puede recibir múltiples iterables si la función acepta múltiples argumentos. Python empaqueta los elementos en paralelo:

a = [1, 2, 3]
b = [10, 20, 30]

resultado = list(map(lambda x, y: x + y, a, b))
print(resultado)  # [11, 22, 33]

# También útil para conversión masiva de datos:
entradas = ['3.14', '2.71', '1.41']
floats = list(map(float, entradas))
print(floats)  # [3.14, 2.71, 1.41]

Prueba tú mismo

¿Cómo usarías map() para convertir la lista ['hola', 'MUNDO', 'Python'] en una lista con todas las palabras en minúsculas?


Más PyQuizzes en elpythonista.com/pyquizzes

Tutorial relacionado: Funciones en Python

¿Quieres aprender Python en orden, no a saltos?

Esto que has leído es solo una pieza. En El Pythonista lo verás todo encadenado: 11 módulos, 37+ horas de vídeo, 734 actividades y un proyecto real (MovieTracker) que crece contigo desde la primera variable hasta el deploy a producción.

Ver el curso completo →

37+ horas · 734 actividades · Proyecto real · Acceso de por vida · 14 días de garantía

Compartir