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 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