En este artículo, aprenderemos cómo aplicar una función a cada elemento de una lista de Python. Veamos qué significa exactamente Aplicar una función a cada elemento de una lista:
Supongamos que tenemos una lista de enteros y una función que duplica cada entero de esta lista. Al aplicar la función a la lista, la función debe duplicar todos los enteros de la lista. Logramos esta funcionalidad de las siguientes maneras:
- método mapa() .
- Uso de listas de comprensión.
- función lambda
Usando el método map()
Los métodos map() toman dos argumentos: iterables y funciones y devuelven un objeto de mapa. Usamos list() para convertir el objeto del mapa en una lista.
Programa:
Python3
def double(integer): return integer*2 # driver code integer_list = [1, 2, 3] # Map method returns a map object # so we cast it into list using list() output_list = list(map(double, integer_list)) print(output_list)
Producción:
[2, 4, 6]
Complejidad de tiempo: O(n)*(O complejidad de la función aplicada en la lista)
Uso de listas de comprensión
Usamos una lista por comprensión para llamar a una función en cada elemento de la lista y luego la duplicamos para este caso.
Programa:
Python3
def double(integer): return integer*2 # driver code integer_list = [1, 2, 3] # Calling double method on each integer # in list using list comprehension. output_list = [double(i) for i in integer_list] print(output_list)
Producción:
[2, 4, 6]
Complejidad de tiempo: O(n)*(O complejidad de la función aplicada en la lista)
Uso de la función Lambda
También se puede emplear una función lambda para producir la funcionalidad anterior. Lambda es capaz de crear una función anónima que se puede hacer lo suficiente para cumplir con el requisito dado.
Programa:
Python3
lst = [1, 2, 3] ans = [] for x in lst: def res(x): return x*2 ans.append(res(x)) print(ans)
Producción:
[2, 4, 6]
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA