La declaración for ... else en Python

Manav Narula 10 agosto 2021
La declaración for ... else en Python

En programación, usamos bucles para iterar sobre diferentes tipos de objetos. El bucle for es uno de los más utilizados debido a su simplicidad.

Python tiene una característica muy interesante asociada con el bucle for. Nos permite usar la instrucción else con el bucle for para combinar la ejecución de la condición y la iteración. La palabra clave else se usa generalmente en declaraciones if-else, donde la usamos para ejecutar algunos comandos cuando la condición if devuelve falso.

Sin embargo, este no es el caso cuando trabajamos con el bucle for en Python. Las sentencias en el bloque else se ejecutan en base a una cláusula de finalización cuando el bucle termina, dado que el bucle no encuentra la sentencia break en ninguna de sus iteraciones. La declaración break se utiliza para salir de un bucle. Si no se encuentra ninguna sentencia break, las sentencias del bloque else también se ejecutan después del bucle.

Si se encuentra la instrucción continue, entonces se ejecuta la instrucción else. Esto se debe a que la declaración continue fuerza la siguiente iteración. No rompe el bucle.

Consulte el siguiente código.

for i in range(3):
    if i > 5:
        break
else:
    print("Else Statements")

for i in range(3):
    if i > 1:
        print("Break")
        break
else:
    print("Else Statements")

for i in range(3):
    if i > 1:
        continue
else:
    print("Else Statements after Continue")

Producción :

Else Statements
Break
Else Statements after Continue

Ahora, el uso de for...else no es bien recibido por muchos programadores experimentados ya que puede generar confusión sobre el uso de la palabra clave else. Sin embargo, todavía tiene algunas aplicaciones útiles en Python.

Por ejemplo, podemos usarlo si estamos buscando un elemento en una lista y deseamos saber si está presente en la lista o no. El siguiente fragmento de código implementa esto.

a = 15
lst = [10, 5, 6, 8, 9, 7, 5, 11]
for i in lst:
    if i == 15:
        print("Found")
        break
else:
    print("Not Found Loop Over")

Producción :

Not Found Loop Over

El uso de la palabra clave else no se limita al bucle for y se puede utilizar con el bucle while también en Python.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python Statement