L'istruzione for...else in Python

Manav Narula 10 agosto 2021
L'istruzione for...else in Python

Nella programmazione, usiamo i cicli per iterare su diversi tipi di oggetti. Il cicli for è uno dei cicli più utilizzati per la sua semplicità.

Python ha una caratteristica molto interessante associata al cicli for. Ci permette di usare l’istruzione else con il cicli for per combinare l’esecuzione della condizione e l’iterazione. La parola chiave else è generalmente utilizzata nelle istruzioni if-else, dove la usiamo per eseguire alcuni comandi quando la condizione if restituisce false.

Tuttavia, questo non è il caso quando lavoriamo con il cicli for in Python. Le istruzioni nel blocco else vengono eseguite in base a una clausola di completamento quando il bucle è finito, dato che il bucle non incontra l’istruzione break in nessuna delle sue iterazioni. L’istruzione break viene utilizzata per uscire da un bucle. Se non viene rilevata alcuna istruzione break, anche le istruzioni del blocco else vengono eseguite dopo il bucle.

Se viene rilevata l’istruzione continue, viene eseguita l’istruzione else. Questo perché l’istruzione continue forza l’iterazione successiva. Non interrompe il bucle.

Vedere il seguente codice.

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

Produzione:

Else Statements
Break
Else Statements after Continue

Ora, l’uso di for...else non è ben accolto da molti programmatori esperti poiché può creare confusione sull’uso della parola chiave else. Tuttavia, ha ancora alcune utili applicazioni in Python.

Ad esempio, possiamo usarlo se stiamo cercando un elemento in una lista e desideriamo sapere se è presente nella lista o meno. Il seguente frammento di codice implementa questo.

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

Produzione:

Not Found Loop Over

L’uso della parola chiave else non è limitato al cicli for e può essere utilizzato con il cicli while anche in Python.

Autore: Manav Narula
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

Articolo correlato - Python Statement