A instrução for ... else em Python

Manav Narula 10 agosto 2021
A instrução for ... else em Python

Na programação, usamos loops para iterar diferentes tipos de objetos. O loop for é um dos loops mais usados ​​devido à sua simplicidade.

Python tem um recurso muito interessante associado ao loop for. Ele nos permite usar a instrução else com o loop for para combinar a execução da condição e a iteração. A palavra-chave else é geralmente usada em instruções if-else, onde a usamos para executar alguns comandos quando a condição if retorna falsa.

No entanto, este não é o caso quando trabalhamos com o loop for em Python. As instruções no bloco else são executadas com base em uma cláusula de conclusão quando o loop termina, desde que o loop não encontre a instrução break em nenhuma de suas iterações. A instrução break é usada para sair de um loop. Se nenhuma instrução break for encontrada, as instruções de bloco else também serão executadas após o loop.

Se a instrução continue for encontrada, a instrução else será executada. Isso ocorre porque a instrução continue força a próxima iteração. Não interrompe o bucle.

Veja o seguinte 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")

Resultado:

Else Statements
Break
Else Statements after Continue

Agora, o uso de for...else não é bem recebido por muitos programadores experientes, pois pode levar à confusão sobre o uso da palavra-chave else. No entanto, ele ainda tem alguns aplicativos úteis em Python.

Por exemplo, podemos usá-lo se estivermos procurando por um elemento em uma lista e quisermos saber se ele está presente na lista ou não. O trecho de código a seguir implementa isso.

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

Resultado:

Not Found Loop Over

O uso da palavra-chave else não está limitado ao loop for e pode ser usado com o loop while também em 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

Artigo relacionado - Python Statement