Lambdas y la función map()
En el más simple de todos los casos posibles, la función map() toma dos argumentos:
- Una función.
- Una lista.
map(función, lista)
La descripción anterior está extremadamente simplificada, ya que:
- El segundo argumento
map()puede ser cualquier entidad que se pueda iterar (por ejemplo, una tupla o un generador). map()puede aceptar más de dos argumentos.
La función map() aplica la función pasada por su primer argumento a todos los elementos de su segundo argumento y devuelve un iterador que entrega todos los resultados de funciones posteriores. Puedes usar el iterador resultante en un bucle o convertirlo en una lista usando la función list().
¿Puedes ver un papel para una lambda aquí?
Observa el código en el editor: hemos usado dos lambdas en él.
Esta es la explicación:
- Se construye la
lista1con valores del0al4. - Después, se utiliza
mapjunto con la primerlambdapara crear una nueva lista en la que todos los elementos han sido evaluados como2elevado a la potencia tomada del elemento correspondiente delista1. lista2es entonces impresa.- En el siguiente paso, se usa nuevamente la función
map()para hacer uso del generador que devuelve, e imprimir directamente todos los valores que entrega; como puedes ver, hemos usado el segundolambdaaquí - solo eleva al cuadrado cada elemento delista2.
Intenta imaginar el mismo código sin lambdas. ¿Sería mejor? Es improbable.