"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 > ¿Cuándo la sintaxis de comprensión de listas requiere un operador ternario en Python?

¿Cuándo la sintaxis de comprensión de listas requiere un operador ternario en Python?

Publicado el 2024-11-08
Navegar:582

When Does List Comprehension Syntax Require a Ternary Operator in Python?

Enigma de comprensión de listas: filtrado condicional en iterables

En Python, la comprensión de listas ofrece una forma concisa de crear listas basadas en iterables existentes. Sin embargo, surgió una pregunta con respecto a la comprensión de una lista que involucra una declaración if.

El objetivo era comparar dos iterables, a y b, e imprimir solo los elementos que aparecían en ambos. El código previsto tenía este aspecto:

print([y if y not in b for y in a])

Desafortunadamente, este código generó un error de sintaxis. La cuestión radica en el orden de la construcción if-else. En Python, la declaración condicional debe aparecer después del bucle for en la comprensión de listas a menos que se use como operador ternario.

Sintaxis correcta:

[y for y in a if y not in b]

Este código itera a través de cada elemento y en a. Si y no se encuentra en b, se agrega a la lista. La lista resultante contendrá los elementos que aparecen tanto en a como en b.

Sintaxis del operador ternario alternativo:

[y if y not in b else other_value for y in a]

Este código utiliza el operador ternario para especificar un valor alternativo (otro_valor) en caso de que y no se encuentre en b. Este enfoque es menos común y normalmente se usa cuando se necesita un valor predeterminado.

Declaración de liberación Este artículo se reimprime en: 1729571541 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Ú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