Usar funciones de Lambda con el bucle for en Python
Las funciones Lambda o funciones anónimas son funciones de Python sin nombre. Estas funciones se crean mediante el uso de la palabra clave lambda en contraposición a la palabra clave def que se usa tradicionalmente para definir funciones normales en Python.
Las funciones lambda no solo son más pequeñas en comparación con las funciones normales, sino que también tienen varias diferencias. Lo más significativo es la ausencia de una declaración de retorno definida explícitamente y la restricción a una sola expresión.
Sin embargo, las funciones lambda aceptan múltiples argumentos al igual que las funciones normales de Python.
En Python, las funciones de Lambda se pueden implementar como se muestra a continuación.
lambda arguments: expressions:
Las funciones Lambda se utilizan cuando existe la necesidad de crear un objeto de función utilizado como argumento en otra función.
El poder de Lambda es particularmente evidente cuando se usa junto con funciones de orden superior como map()
. Estas funciones aceptan otros objetos de función como argumentos.
Además, las funciones lambda también se pueden usar para realizar operaciones que requieren funciones anónimas solo por un corto tiempo. Un buen ejemplo de esto sería usar funciones lambda junto con un bucle for para realizar una determinada operación en todos los elementos de un iterable.
El siguiente programa ilustra cómo podemos usar un bucle for para iterar sobre una lista de números, y en este caso se usa una función lambda como incrementador.
nums1 = [45, 46, 47, 48, 50]
nums2 = []
for i in nums1:
def x(i):
return i + 1
nums2.append(x(i))
print(nums2)
Producción :
[46, 47, 48, 49, 51]
Los bucles for se pueden utilizar para iterar sobre otras secuencias, como tuplas, cadenas, diccionarios y conjuntos. Aunque las funciones lambda solo pueden tener una expresión, no existen restricciones sobre los tipos de datos que se pueden usar.
El siguiente ejemplo ilustra cómo podemos iterar sobre una lista de cadenas usando un bucle for y una función lambda.
fruits = ["mango", "apple", "melon", "pineapple"]
fruits_upper = []
for fruit in fruits:
def x(fruit):
return fruit.upper()
fruits_upper.append(x(fruit))
print(fruits_upper)
Producción :
['MANGO', 'APPLE', 'MELON', 'PINEAPPLE']
La función Lambda se puede utilizar junto con un bucle for para crear una lista de objetos lambda. Usando estos objetos, podemos realizar acciones en elementos de un iterable usando un bucle for.
Esto es beneficioso, especialmente cuando la intención es iterar sobre un objeto iterable mientras se realizan cambios simultáneamente sin obtener un error de tiempo de ejecución.
list = [1, 2, 3, 4, 5]
def add_two(x):
return lambda: x + 2
list = [add_two(i) for i in list]
for element in list:
print(element())
Producción :
3
4
5
6
7
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedIn