Use If-Elif-Else en la comprensión de listas en Python

Salman Mehmood 21 junio 2023
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']
Salman Mehmood avatar Salman Mehmood avatar

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.

LinkedIn

Artículo relacionado - Python List