Pitón

Python Lambda

Python Lambda

En este artículo, intentaremos aprender sobre Python Lambda.

Definición

Lambda es una función definida sin nombre. Esto puede tomar varios argumentos, pero solo se permite una expresión que se evalúa y devuelve. Donde se requieren objetos de función, podemos usar la función lambda.

Sintaxis:
argumentos lambda: expresión

Ejemplo 1: La siguiente función se usa para calcular el cubo de un número.

def cubo (a):
devuelve un * a * a
imprimir (cubo (3))

La función anterior se puede escribir usando lambda, como se muestra a continuación:

p = lambda x: x * x * x
imprimir (p (3))

Ejemplo 2: La siguiente función se utiliza para calcular la suma de dos números.

def suma_2 (x, y):
devolver x + y
imprimir (suma_2 (10,20))

La función anterior se puede escribir usando lambda, como se muestra a continuación:

p = lambda x, y: x + y
imprimir (p (10,20))

Ejemplo 3: El siguiente ejemplo para lambda toma varios argumentos.

p = lambda x, y, z: x + y + z
imprimir (p (10, 5, 3))

Ejemplo 4: Esta función multiplica el número por 2 y se puede escribir usando la función Lambda como se muestra a continuación:

def func (n):
devuelve lambda x: x * n
multiplicar_por_2 = func (2)
imprimir (multiplicar_por_2 (11))
imprimir (multiplicar_por_2 (15))

Ejemplo 5: La función toma la función como argumento y devuelve el resultado.

argumento_función = lambda p, f: p + f (p)
imprimir (argumento_función (5, lambda p: p * p))
imprimir (argumento_función (10, lambda x: x - 3))
imprimir (argumento_función (10, lambda x: x + 5))
imprimir (argumento_función (10, lambda x: x / 5))

Ejemplo 6: En el siguiente ejemplo, lambda se usa para ordenar los valores.

# (nombre, apellido, edad)
datos = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
datos.sort (clave = lambda x: x [0]) # ordenar según el nombre
imprimir (datos)
datos = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
datos.sort (clave = lambda x: x [1]) # ordenar según el apellido
imprimir (datos)
datos = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
datos.sort (clave = lambda x: x [2]) # ordenar según la edad
imprimir (datos)

Ahora, vaya al intérprete de python3.

La función lambda se usa en muchos métodos incorporados. Los siguientes son algunos ejemplos:

1. Mapa

Esta función mapea cada elemento en secuencia usando la función lambda.

Sintaxis:
mapa (función, seq)

Ex:
nums = [1,2,3,4,5,6]
Aquí, multiplicaremos cada elemento de la lista por 2.
mul_2 = mapa (lambda x: x * 2, nums)
print (list (mul_2)) # Devuelve el objeto del mapa y lo encasilla como lista.

En la función anterior, cada elemento de la lista se pasa a la función lambda y la función lambda lo multiplicará por 2.

nums = [1,2,3,4,5,6]
mul_2 = mapa (lambda x: x * 2, nums)
imprimir (lista (mul_2))

2. Filtrar

Esta función filtra todos los elementos de una lista para los que la función lambda devuelve True.

Sintaxis:
filtro (función, seq)

Ex:
nums = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, nums)
print (list (odd_nums)) # Devuelve el objeto del mapa y lo encasilla como lista.

nums = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, nums)
imprimir (lista (números impares))

3. Reducir

Esta función devuelve un solo valor aplicando la función func () a la secuencia.

Sintaxis:
reducir (func, seq)

Ex:
nums = [0,1,2,3,4,5,6,7,8,9,10]
valor = reducir (lambda x, y: x + y, nums)
imprimir (valor)

En la lista anterior, tomará los primeros 2 elementos y realizará la suma. El resultado de una adición se agregará al tercer elemento y así sucesivamente. Finalmente, devolverá un solo valor.

Nota: este método no está disponible en la versión python3 +.

nums = [0,1,2,3,4,5,6,7,8,9,10]
valor = reducir (lambda x, y: x + y, nums)
imprimir (valor)

Conclusión

De este artículo, hemos aprendido muchos aspectos de la función lambda. Dependiendo de lo que necesite el programa, podemos usarlo y hacer una mejor codificación en Python. Esto se usa más comúnmente para pasar argumentos a otra función (por ejemplo, hemos visto las funciones anteriores mapear, filtrar y reducir).

Vuelva a asignar los botones del mouse de manera diferente para diferentes programas con X-Mouse Button Control
Tal vez necesite una herramienta que pueda hacer que el control de su mouse cambie con cada aplicación que use. Si este es el caso, puede probar una a...
Revisión del mouse inalámbrico Microsoft Sculpt Touch
Recientemente leí sobre el Microsoft Sculpt Touch mouse inalámbrico y decidí comprarlo. Después de usarlo por un tiempo, decidí compartir mi experienc...
Trackpad en pantalla y puntero del mouse AppyMouse para tabletas Windows
Los usuarios de tabletas a menudo pierden el puntero del mouse, especialmente cuando son habituales para usar las computadoras portátiles. Los teléfon...