Más sobre comprensión de listas: continuación
Hay una sintaxis muy interesante que queremos mostrarte ahora. Su usabilidad no se limita a la comprensión de listas.
Es una expresión condicional: una forma de seleccionar uno de dos valores diferentes en función del resultado de una expresión booleana.
Observa :
expresión_uno if condición else expresión_dos
Puede parecer un poco sorprendente a primera vista, pero hay que tener en cuenta que no es una instrucción condicional. Además, no es una instrucción en lo absoluto. Es un operador.
El valor que proporciona es expresión_uno cuando la condición es True
(verdadero), y expresión_dos cuando sea falso.
Un buen ejemplo te dirá más. Mira el código en el editor.
El código llena una lista con unos
y ceros
, si el índice de un elemento particular es impar, el elemento se establece en 0
, y a 1
de lo contrario.
¿Simple? Quizás no a primera vista. ¿Elegante? Indiscutiblemente.
¿Se puede usar el mismo truco dentro de una lista de comprensión? Sí, por supuesto.