Python Lambda

Python Lambda
Antes de aprender sobre Python Lambda, es importante hablar sobre las funciones de Python.
Las funciones se escriben comúnmente en Python utilizando el siguiente formato:

La lista de parámetros se agrega cuando los declaramos usando la palabra clave "def", les damos un nombre y ponemos los paréntesis redondos en la lista de argumentos. Puede haber varias líneas de código, cada una que contenga tantas declaraciones y expresiones según sea necesario. Sin embargo, hay situaciones en las que podemos querer una función con una sola expresión interna, como cuando necesitamos una función que duplique un argumento.

Podemos utilizar el método double () junto con la función map ().

Dado que una función lambda se puede construir precisamente donde se necesita, este sería un excelente lugar para utilizar uno. Esto da como resultado escribir un menos líneas de código y evitar la creación de las funciones nombradas que solo se llaman una vez (y luego deben almacenarse en una memoria).

Definición de función Lambda

Estos son los métodos sin nombres. Los términos funciones anónimas y sin nombre también se usan para describirlas. En lugar de un nombre, el término "lambda" sirve como palabra clave. La naturaleza anónima de la función que viene a continuación se indica en este término.

¿Por qué usar las funciones Python Lambda?

El uso principal de las funciones anónimas es cuando se requiere una determinada función solo una vez. Se pueden producir en cualquier lugar que los necesite. Por lo tanto, las funciones de Lambda de Python a veces se denominan métodos de desechación, ya que se utilizan junto con las otras funciones predefinidas como Filter (), MAP () y otras funciones. En comparación con las funciones estándar de Python, estas funciones ayudan a reducir el número de líneas en el código.

Cómo utilizar los métodos Lambda en Python

Cuando se requiere una expresión corta, como un parámetro para un método complejo, se utilizan funciones lambda.

La sintaxis de una función lambda es la siguiente:

La expresión que constituye el cuerpo de la función se escribe después del término lambda, un espacio, una lista de todos los parámetros separados por comas y un colon.
El número de parámetros que usamos en una función lambda depende de nosotros. Pero solo se puede usar una expresión en el cuerpo.

Observamos que aunque puede haber un número ilimitado de parámetros, solo puede haber una expresión por argumento. La declaración de retorno, que generalmente forma parte de la sintaxis para una definición de la función, está ausente aquí.

La sintaxis se explica definiendo el argumento y las expresiones. Sea "y" el argumento y "y+y" es la expresión.

Antes de pasar al tema real, hablemos sobre algunos aspectos técnicos de las funciones de Lambda y lo que la comunidad de Python considera sus ventajas y inconvenientes.

Pros:

Bueno para procedimientos lógicos sencillos y claros. Esto también mejora la legibilidad del código.
Efectivo cuando necesitamos una función de uso única.

Contras:

Se limitan a usar una frase. Una función de lambda no puede incluir muchas operaciones independientes.

Desfavorable para acciones que necesitarían más de una declaración en una definición estándar de la función. Use una función con nombre en su lugar si nos lleva más de un minuto captar el código.

Ejemplo 1:

Crearemos una función lambda que multiplique su atributo por 2.

Ahora, ejecutamos el programa utilizando la sintaxis anterior.

Declaramos una lista que tiene 6 enteros bajo la variable "my_list". Luego, utilizamos la función lambda junto con la función map () en una nueva variable: "lista nueva". Por fin, utilizamos la función print () y obtenemos la salida deseada.

Observe las diferencias entre este método y la doble función que escribimos anteriormente. Este es más manejable y usa menos memoria porque no incluye una función adicional. Se necesita solo una codificación de línea que sea fácil de usar.

Ejemplo 2:

La función Lambda también se puede usar para encontrar los enteros requeridos o establecer en los números de manera fácil y alternativa. Podemos crear una función lambda que determine si un entero es positivo.

El ejemplo siguiente se ejecuta mediante el uso de la sintaxis mencionada anteriormente.

Comience con declarar la lista de 6 números bajo la variable especificada como "my-list". Después de inicializar los valores de la lista, utilizamos la función lambda junto con la función filtre () debajo de la variable "nueva lista". Para imprimir la salida en el último paso, aplicamos la función impreso ().

Esto evita la necesidad de que una función nombrada se almacene en la memoria porque la función lambda se declara cuando se utiliza. Para evitar un desorden, es apropiado usar una función lambda cuando una función solo se llama una vez y obtener la salida deseada utilizando una fórmula de línea única.

Ejemplo 3:

No se permiten múltiples declaraciones en las funciones de Lambda. Pero podemos construir dos funciones lambda y luego llamar a una de ellas como parámetro a otra función lambda. Usando Lambda, intentemos localizar el segundo elemento más grande:

Aquí, inicializamos un conjunto de enteros en la variable "Lista". Después de hacer la lista y especificar la variable, desarrollamos una función Lambda que clasifica cada subsist de la lista suministrada. La segunda función lambda que recupera el elemento N-2th de la lista ordenada y devuelve N, ya que la longitud de la lista de subsistentes se llama utilizando esta lista como argumento.

Ejemplo 4:

Una función y una lista son aceptados como parámetros por la función map (). Una nueva lista que incluye todos los elementos modificados con lambda proporcionados por ese método para cada elemento se devuelve cuando el método se invoca con un método Lambda y una lista.

Comenzamos con una lista de 10 enteros en la variable "Lista". Luego, utilizamos las dos funciones (mapa y lambda) juntas en una "final_list". Al final, representamos nuestra salida utilizando la función print ().

Ejemplo 5:

Utilizamos la función Lambda () con Reduce (). Una función y una lista son los dos argumentos aceptados por la función Rede () Python. Se devuelve un resultado cuando el método se invoca con un método lambda y un iterable. Usando los valores de los pares de Iterable, esto repite una operación. El módulo "Functools" es donde reside el método Reder ().

Después de integrar el módulo "Reducir" de los "Functools", hacemos una lista de 6 enteros y declaramos la variable como "lista". Luego, haga uso de la lambda y reduzca la función en la variable "suma" para mostrar la salida. Utilizamos la función print ().

Conclusión

En esta guía, explicamos las funciones Lambda. Estos se definen como funciones si nuestra función solo tiene una breve expresión. Aunque demostramos aquí que son fáciles de usar en cualquier nivel, los programadores no los emplean comúnmente. Para una mejor comprensión de cuáles son las funciones Lambda y cómo se pueden usar estas funciones para reducir el tamaño o la longitud de una función, también implementamos algunos códigos en el artículo junto con algunos de los pros y los contras para que uno pueda conocer las ventajas y desventajas del uso de las funciones Lambda antes de usar, obtenga una mejor descripción de la situación y si la función Lambda es aplicable en tal situación o no.