Use If-Elif-Else en la comprensión de listas en Python
Aprenderemos con esta explicación qué es el encadenamiento y, en Python, cómo aplicar if-elif-else
o encadenamiento en la comprensión de listas.
Use if-elif-else
en la comprensión de listas con la ayuda de Chaining en Python
Una pregunta interesante en la comunidad de Python es cómo usar if-elif-else
en una lista de comprensión. Ya sabemos cómo usar if-else
en la comprensión de listas, pero debemos saber que no podemos escribir todos los códigos en la comprensión de listas mientras escribimos el script de Python.
Implementar el encadenamiento en la comprensión de listas en Python
No existe el concepto de if-elif-else
dentro de la lista de comprensión, pero podemos usar el encadenamiento, que será una alternativa. En primer lugar, necesitaremos saber qué es el encadenamiento.
El encadenamiento se usa cuando tenemos múltiples condiciones, como por ejemplo:
if condition1:
code1
elif condition2:
code2
elif condition3:
code3
else condition4:
code4
El código anterior explica que el flujo de trabajo de encadenamiento no hace nada. Esto muestra que si la primera condición no se cumple, se ejecuta la segunda condición.
El bloque else
se ejecuta si alguna condición no se cumple.
Convirtamos estos if-elif-else
en encadenamientos, pero funcionará cuando cada condición contenga una sola declaración. Para crear un encadenamiento, comenzaremos con código1
y verificaremos si la instrucción es verdadera, luego el control verificará el segundo encadenamiento que es otro código2 si condición2
.
code1 if condition1 else code2 if condition2 else code3 if consition3 else condition4
Si else code2 if condition2
se cumple, entonces el control continúa en el tercer encadenamiento, else code3 if consition3
. Y, si también cumple cierto, entonces el control pasa al cuarto encadenamiento, que sería else condition4
.
Esto se llama encadenamiento y así es como funciona.
Lista de comprensión con if-elif-else
en Python
Tomemos un ejemplo, saltemos al script de Python y veamos cómo aplicar este escenario para el encadenamiento.
Supongamos que tenemos un programa que almacena el estado si alguna condición se cumple. En este programa, iteramos sobre una lista, verificamos varias condiciones y agregamos el resultado en una lista en blanco llamada estado
.
list = [1, 0, 2, -3, 11, 0, -1]
status = []
for i in list:
if i > 0:
status.append("Positive")
elif i < 0:
status.append("Negative")
else:
status.append("Zero")
print(status)
Producción :
['Positive', 'Zero', 'Positive', 'Negative', 'Positive', 'Zero', 'Negative']
Podemos convertir el código anterior en la lista de comprensión, que será una línea de código. Recuerde que la comprensión de listas no funciona con cada pieza de código y no permite un bloque o cláusula elif
, pero usaremos elif
por encadenamiento.
Para crear una lista por comprensión, crearemos una lista vacía y colocaremos tres cadenas. También hemos mirado arriba, en el pseudocódigo, cómo trabajar el encadenamiento.
La comprensión de listas no permite la función agregar()
, pero agrega el elemento en sí. Podemos colocar más de varias condiciones usando el encadenamiento.
print(["Positive" if i > 0 else "Negative" if i < 0 else "zero" for i in list])
Producción :
['Positive', 'zero', 'Positive', 'Negative', 'Positive', 'zero', 'Negative']
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedInArtículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python