"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Lambda frente a comprensión de listas: ¿cuál es mejor para las diferencias entre elementos en las listas de Python?

Lambda frente a comprensión de listas: ¿cuál es mejor para las diferencias entre elementos en las listas de Python?

Publicado el 2024-12-23
Navegar:531

 Lambda vs. List Comprehension: Which is Best for Element-wise Differences in Python Lists?

Realización de diferencias por elementos en listas: Lambda frente a comprensión de listas

Encontrar diferencias entre elementos adyacentes en una lista es una operación común en programación. En Python, hay varias formas de lograr esto, incluido el uso de expresiones lambda o listas por comprensión.

Expresión lambda:

Se puede usar una expresión lambda para crear una función sobre la marcha, que luego se puede utilizar para operar en cada elemento de la lista. Por ejemplo:

t = [1, 3, 6]
differences = list(map(lambda i, j: j - i, t[:-1], t[1:]))

En este caso, la función lambda lambda i, j: j - i resta el (i)-ésimo elemento de su (i 1)-ésimo elemento. Luego, la función de mapa aplica esta función a cada par de elementos adyacentes en la lista.

Comprensión de lista:

Las listas por comprensión proporcionan una forma concisa de crear una nueva lista basada en una lista existente. La siguiente lista de comprensión realiza la misma operación que la expresión lambda anterior:

differences = [j - i for i, j in zip(t[:-1], t[1:])]

La función zip empareja los elementos adyacentes en la lista y la comprensión de la lista itera sobre estos pares. Para cada par (i, j), calcula la diferencia j - i.

Comparación:

Ambos enfoques tienen sus ventajas y desventajas. Las expresiones lambda son más versátiles y se pueden utilizar en una gama más amplia de situaciones. Sin embargo, las listas por comprensión suelen ser más concisas y fáciles de leer.

Ejemplo:

Dada la lista t = [1, 3, 6], tanto la expresión lambda y la comprensión de la lista producirá el siguiente resultado:

[2, 3]

Esto se debe a que la primera diferencia (3 - 1) es 2, y la segunda diferencia (6 - 3) es 3.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3