ComenzarEmpieza gratis

Map() y funciones lambda

Hasta ahora, has utilizado las funciones lambda para escribir funciones breves y sencillas, así como para redefinir funciones con una funcionalidad simple. Sin embargo, el mejor caso de uso de las funciones lambda es cuando quieres que estas funcionalidades sencillas se incrusten de forma anónima dentro de expresiones más amplias. Lo que eso significa es que la funcionalidad no se almacena en el entorno, a diferencia de una función definida con def. Para comprender mejor esta idea, utilizarás una función lambda en el contexto de la función map().

Recuerda del vídeo que map() aplica una función sobre un objeto, como una lista. Aquí puedes utilizar funciones lambda para definir la función que utilizará map() para procesar el objeto. Por ejemplo:

nums = [2, 4, 6, 8, 10]

result = map(lambda a: a ** 2, nums)

Puedes ver aquí que una función lambda, que eleva un valor a a la potencia de 2, se pasa a map() junto con una lista de números, nums. El objeto de mapa resultante de la llamada a map() se almacena en result. Ahora practicarás el uso de funciones lambda con map(). Para este ejercicio, mapearás la funcionalidad de la función add_bangs() que definiste en ejercicios anteriores sobre una lista de cadenas.

Este ejercicio forma parte del curso

Introducción a las funciones en Python

Ver curso

Instrucciones del ejercicio

  • En la llamada a map(), pasa una función lambda que concatene la cadena '!!!' con una cadena item; pasa también la lista de cadenas, spells. Asigna el objeto de mapa resultante a shout_spells.
  • Convierte shout_spells en una lista e imprime la lista.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Create a list of strings: spells
spells = ["protego", "accio", "expecto patronum", "legilimens"]

# Use map() to apply a lambda function over spells: shout_spells
____ = map(____, ____)

# Convert shout_spells to a list: shout_spells_list
____

# Print the result
print(shout_spells_list)
Editar y ejecutar código