BlogPython Training

Cómo entrenar a su Python: Parte 14, Listas más avanzadas, Lambda y Operadores Lambda

¡Bienvenido de nuevo! En nuestra última sesión de capacitación, cubrimos algunos temas de listas avanzadas. ¡Hoy profundizaremos en la lista avanzada del agujero del conejo con los operadores lambda y lambda! (Y no estoy hablando de Gordan Freeman)

Comenzaremos explicando lambda y dando un ejemplo, luego cubriremos cada uno de los operadores, así que, ¡comencemos!

¿Qué es Lambda?

Primero comenzaremos explicando qué es lambda. Lambda es una forma de realizar funciones sencillas sobre la marcha. Si no ha leído el artículo sobre funciones, le sugiero que lo haga, de lo contrario, esto podría resultar confuso.

Cuando solemos hacer funciones, tenemos que definirlas, y luego generalmente devolvemos un resultado. No tenemos que definir funciones lambda y no tenemos que devolver ningún resultado. Podemos usar lambda para condensar código simple en una sola línea, por lo que en lugar de crear una función completamente nueva, simplemente agregamos un lambda rápido. Pasemos al ejemplo básico de lambda.

Usando Lambda

En este ejemplo, usaremos la definición de una función simple, y luego haremos lo mismo mucho más rápido con lambda. Entonces, veamos primero nuestra función. Haremos una función simple para devolver el resultado de un número entero multiplicado por 2. Hagamos ahora nuestra función simple:

Muy bien, comenzamos definiendo nuestra función, luego le dimos el argumento de x, en el cuerpo de la función, multiplicamos x por 2 y devolvemos el resultado. Cuando llamamos a esta función con el número entero 2 como x, la respuesta (obviamente) es 4.

También podemos asignar lambda a variables, haciendo que las funciones simples sean muy rápidas. Hagamos nuestra función lambda ahora:

Podemos ver aquí que para usar una expresión lambda como una función real, necesitamos asignarla a una variable, que aún puede ser más rápida que definir una nueva función. Usamos lambda ingresando lambda, seguido del nombre de nuestro argumento, en este caso X. Luego, ingresamos el código para realizar en el argumento (s), que en este caso lo multiplica por 2. Ahora que sabemos un poco más sobre las lambda y cómo crearlas, veamos los operadores lambda.

Operadores Lambda

Revisaremos los operadores lambda uno por uno. Cada uno es útil a su manera. Comencemos enumerándolos y dando una breve explicación de cada uno.

  • filter (): se puede usar para filtrar ciertos elementos de la lista en una nueva lista.
  • map (): se puede usar para ejecutar código en todos los elementos de una lista a la vez.
  • reduce (): se puede usar para realizar operaciones aritméticas secuencialmente a través de una lista.

Como nota al margen: estos operadores se pueden usar como funciones individuales, pero en su mayoría los veremos usados ​​en conjunto con expresiones lambda.

Imagen vía python-course.eu

Ahora que hemos cubierto estos operadores brevemente, entremos en más detalles. Cubriremos cada uno de ellos. ¡Entonces empecemos!

Uso del operador de filtro

Veamos cómo podemos usar el operador filter (). Podemos usar este operador si queremos filtrar contenidos específicos de una lista en una nueva lista. Usaremos la función range () para generar una lista temporal de números del 0 al 50 para filtrar.

Usaremos nuestro operador filter () para filtrar solo números pares en una nueva lista. Sigamos adelante y veamos el código de este filtro:

¡Aquí podemos ver que nuestro operador filter () y nuestras expresiones lambda funcionaron! Dentro de nuestra expresión lambda, probamos para ver si el resto de dividir el elemento por 2 es cero. Si esto es cierto, el número es par y se pasa a la nueva lista.

Pasemos a nuestro siguiente operador lambda, map ().

Uso del operador de mapas

Podemos usar el operador de mapa cuando queremos aplicar algo a todos los elementos de una lista. Para este ejemplo, generaremos una lista de números del 0 al 50 (nuevamente usando la función range ()). Luego, multiplicaremos cada elemento de la lista por 2. Así que tendremos una lista recién mapeada de números del 0 al 100, solo con pares. Veamos esto en acción:

¡Funcionó! Podemos usar map () para aplicar algo a cada elemento de una lista. Esto puede ser útil para realizar álgebra básica, donde es necesario realizar cambios para su validez. La forma en que esto funciona es que toma la expresión, en este caso x * 2y lo aplica a todos los elementos de la lista.

Ahora que hemos cubierto map (), pasemos a nuestro siguiente operador, reduce ().

Uso del operador Reducir

El operador de reducción es un poco más confuso. Repite una lista y realiza una acción de forma secuencial. Por ejemplo (y este será nuestro ejemplo) podemos usarlo para sumar todos los contenidos. En aras de una mejor comprensión, declararemos nuestra propia lista en lugar de usar range () para esta. Sigamos adelante y hagamos nuestra lista:

Ahora que tenemos nuestra lista, reduzcamosla. Usaremos la suma en esta operación de reducción. Lo que esto significa es que los agregará secuencialmente. Comenzará con 0 más 1, el resultado será uno, por lo que luego realizará 1 más 2, que es tres y conduce a 3 más 4. Repetirá esto hasta que toda la lista se haya reducido a un número. Realicemos nuestra operación de reducción:

Hemos reducido con éxito nuestra lista mediante la adición. Tuvimos que definir dos argumentos para nuestra expresión lambda (xey), uno para cada parte de la suma.

Es muy importante comprender el secuencial parte de la reducción, ya que esto puede afectar el resultado con diferentes operaciones.

Ahora que hemos cubierto todo esto, terminemos, ¿de acuerdo?

Envolviendolo

Hemos cubierto bastante aquí, y algo fue bastante confuso. Espero que los conceptos y la sintaxis se hayan entendido bien. ¡Cubrimos los conceptos básicos de las expresiones lambda, y luego fuimos en detalle con cada operador lambda!

Hoy hemos agregado incluso más a nuestras habilidades avanzadas de scripting. Podemos usar lo que hemos aprendido aquí para condensar el código y hacerlo más pequeño y más fácil de leer. También podemos usar esto para reducir el tamaño total del archivo de los scripts que hacemos. La única parte complicada es recordar y encontrar un lugar para usar estas habilidades recién descubiertas.

¡Realimentación!

¿Tiene alguna pregunta? ¡Envíame un mensaje sobre ellos o déjalos aquí en los comentarios! Haré todo lo posible por responderlas. Recientemente hemos estado cubriendo algunos de los temas más avanzados, así que me disculpo si la dificultad de estos artículos ha aumentado. Te veré en la próxima sesión de entrenamiento de tu pitón.

¡Gracias por leer!

-Defaltar

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar