Come usare i loop For in Python

23 feb 2021 3 min di lettura
Come usare i loop For in Python
Indice dei contenuti

Introduzione

I loop sono uno dei concetti fondamentali dei linguaggi di programmazione. I loop vengono utilizzati per eseguire attività ripetute fino a quando non viene soddisfatta una determinata condizione.

Ci sono due principali costrutti di loop in Python che ti permettono di ripetere ripetutamente un blocco di codice, il ciclo for e il ciclo while.

In questo articolo, tratteremo le basi dei loop for in Python. Ti mostreremo anche come usare il tipo range per generare una sequenza di numeri, e le istruzioni else, break e continue per alterare il flusso di un ciclo.

For loop in Python

Il ciclo for in Python itera sugli elementi di una sequenza ed esegue ripetutamente un blocco di istruzioni.

Il ciclo for Python assume la seguente forma:

for item in sequence:
  statements

L'istruzione for inizia con la parola chiave for, quindi una variabile (item) a cui assegnare ciascun elemento della sequenza (destinazione del controllo del ciclo), seguita dalla parola chiave in e infine dalla sequenza. Ogni istruzione condizionale termina con due punti (:).

Il blocco statements inizia con un indentation (rientro) e termina con la prima riga unindented (non rientrata). La maggior parte delle persone sceglie di utilizzare l'indentation di 4 o 2 spazi. La Guida allo stile ufficiale per il codice Python consiglia di utilizzare 4 spazi per livello di indentation e di evitare di mescolare l'uso di tabulazioni e spazi.

Ecco un esempio:

berries = ["Blueberry", "Raspberry", "Strawberry"]

for berry in berries:
  print(berry)
Blueberry
Raspberry
Strawberry

Puoi iterare su qualsiasi sequenza come una stringa, un elenco, un dizionario o una tupla.

Nel codice seguente, stiamo iterando attraverso i caratteri nella stringa "linux":

for x in 'linux':
  print(x)
l
i
n
u
x

Quando si scorre un dizionario, la variabile viene assegnata alla chiave:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(key)
Blueberry
Raspberry
Strawberry

Per accedere ai valori del dizionario, usa l'indice della chiave:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(berries[key])

Un'altra opzione per scorrere i valori del dizionario è utilizzare il metodo values():

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for value in berries.values():
  print(value)

L'output di entrambi gli esempi è lo stesso:

100
125
150

Il Costruttore range()

Il costruttore range() in Python consente di generare una sequenza di numeri interi definendo il punto iniziale e finale dell'intervallo. range() funziona in modo diverso in Python 2 e 3. In questo articolo, stiamo usando Python 3.

range()viene tipicamente utilizzato con il ciclo for per iterare su una sequenza di numeri. Questo è un equivalente in Python del ciclo for in stile C.

Quando viene fornito un solo argomento, range restituisce una sequenza di numeri, incrementata di 1, a partire da 0 a argument - 1:

for i in range(3):
  print(i)
0
1
2

Quando vengono forniti due argomenti, range restituisce una sequenza di numeri, incrementata di 1, a partire dal primo argomento fino a second argument - 1:

for i in range(3, 5):
  print(i)
3
4

Il terzo argomento consente di specificare un incremento:

for i in range(0, 16, 5):
  print(i)
0
5
10
15

Ciclo for nested (annidato)

Un ciclo annidato è un ciclo all'interno di un altro ciclo. Sono spesso usati per gestire oggetti iterabili che contengono elementi iterabili:

for i in range(0, 6):
  for j in range(0, 6):
    print('%d + %d = %d' % (i, j, i+j))
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
...
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10

Le dichiarazioni break e continue

Le istruzioni break e continue consentono di controllare l'esecuzione del ciclo for.

Dichiarazione Break

L'istruzione break termina il ciclo corrente e passa il controllo del programma all'istruzione che segue il ciclo. Quando viene utilizzata all'interno di un ciclo annidato, l'istruzione break termina il ciclo più interno.

Nell'esempio seguente, stiamo usando l'istruzione if per terminare l'esecuzione del ciclo una volta che l'elemento corrente iterato è uguale a "Raspberry":

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
Blueberry

Dichiarazione Continue

L'istruzione continue esce dall'iterazione corrente del ciclo e passa il controllo del programma all'iterazione successiva del ciclo. Il ciclo non è terminato; viene saltata solo l'iterazione corrente.

Nell'esempio seguente, stiamo iterando attraverso un intervallo di numeri. Quando l'elemento corrente iterato è uguale a '3', l'istruzione continue farà tornare l'esecuzione all'inizio del ciclo e continuare con l'iterazione successiva:

for i in range(1, 6):
  if i == 3:
    continue
  print(i)
1
2
4
5

La clausola Else

In Python, il ciclo for può avere una clausola opzionale else.

La clausola else viene eseguita quando il ciclo termina normalmente, ovvero quando tutti gli iterabili sono esauriti:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  print(i)
else:
  print('Loop completed.')
Blueberry
Raspberry
Strawberry
Loop completed.

Quando il ciclo viene terminato con le istruzioni break o continue, la clausola else non viene eseguita:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
else:
  print('Loop completed.')
Blueberry

Conclusione

Il ciclo for Python viene utilizzato per eseguire ripetutamente un blocco di codice per un numero fisso di volte.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.