Il ciclo for in Python è una funzione iterativa. Se hai un oggetto sequenza come una lista, puoi utilizzare il ciclo for per iterare sugli elementi contenuti all’interno della lista.
La funzionalità del ciclo for non è molto diversa da quella che si vede in molti altri linguaggi di programmazione.
In questo articolo, esploreremo in dettaglio il ciclo for in Python e impareremo a iterare su diverse sequenze, inclusi liste, tuple e altro ancora. Inoltre, impareremo a controllare il flusso del ciclo utilizzando le dichiarazioni break e continue.
Quando usare il ciclo for
Ogni volta che hai bisogno di ripetere un blocco di codice un numero fisso di volte. Se non conosci il numero di volte in cui deve essere ripetuto, utilizza invece una dichiarazione “while loop”.
Sintassi del ciclo for Python
La sintassi di base del ciclo for in Python assomiglia a qualcosa di simile a quanto menzionato di seguito.
Sintassi del ciclo for in Python in dettaglio
- La prima parola dell’istruzione inizia con la parola chiave “for” che indica l’inizio del ciclo for.
- Poi abbiamo la variabile iteratore che itera sulla sequenza e può essere utilizzata all’interno del ciclo per eseguire varie funzioni
- Il prossimo è il la parola chiave “in” in Python che indica alla variabile iteratore di ciclare sugli elementi all’interno della sequenza
- E infine, abbiamo la variabile di sequenza che può essere una lista, una tupla o qualsiasi altro tipo di iteratore.
- La parte delle istruzioni del ciclo è dove puoi manipolare la variabile iteratore e eseguire varie funzioni
Stampa singole lettere di una stringa usando il ciclo for
La stringa Python è una sequenza di caratteri. Se all’interno di una delle tue applicazioni di programmazione, hai bisogno di passare singolarmente sui caratteri di una stringa, puoi utilizzare il ciclo for qui.
Ecco come funzionerebbe per te.
Output:
Il motivo per cui questo ciclo funziona è perché Python considera una “stringa” come una sequenza di caratteri invece di guardare la stringa nel suo complesso.
Utilizzare il ciclo for per iterare su una lista o una tupla Python
Le liste e le tuple sono oggetti iterabili. Vediamo ora come possiamo ciclare sugli elementi all’interno di questi oggetti.
Output:
Ora, procediamo e lavoriamo sulla ciclizzazione degli elementi di una tupla qui.
Annidamento dei cicli for in Python
Quando abbiamo un ciclo for all’interno di un altro ciclo for, viene chiamato ciclo for annidato. Ci sono molteplici applicazioni di un ciclo for annidato.
Considera l’esempio di lista sopra. Il ciclo for stampa singole parole dalla lista. Ma cosa succede se vogliamo stampare invece i singoli caratteri di ciascuna delle parole all’interno della lista?
Qui entra in gioco un ciclo for innestato. Il primo ciclo (ciclo genitore) scorre le parole una per una. Il secondo ciclo (ciclo figlio) scorre i caratteri di ciascuna delle parole.
Output
A nested loop is structurally similar to nested if
statements
Ciclo for di Python con la funzione range()
Il range di Python è una delle funzioni integrate. Quando vuoi che il ciclo for si esegua per un numero specifico di volte, o hai bisogno di specificare un intervallo di oggetti da stampare, la funzione range funziona davvero bene.
Quando si lavora con range()
, puoi passare da 1 a 3 argomenti interi:
start
indica il valore intero da cui inizia la sequenza, se non incluso,start
inizia da 0stop
è sempre richiesto e rappresenta l’intero fino al quale viene contato ma non incluso- Il parametro
step
imposta di quanto aumentare (o diminuire nel caso di numeri negativi) la prossima iterazione, se viene omesso allorastep
predefinito è 1
Considera il seguente esempio in cui voglio stampare i numeri 1, 2 e 3:
La funzione range prende anche un altro parametro oltre all’inizio e alla fine. Questo è il parametro step. Indica alla funzione range quanti numeri saltare tra ogni conteggio.
Nell’esempio seguente, ho usato il numero 3 come step e puoi vedere che i numeri di output sono il numero precedente + 3.
Possiamo anche utilizzare un valore negativo per il nostro argomento step
per iterare all’indietro, ma dovremo regolare di conseguenza i nostri argomenti start
e stop
:
Qui, 100 è il valore start
, 0 è il valore stop
, e -10
è il range, quindi il ciclo inizia a 100 e finisce a 0, diminuendo di 10 ad ogni iterazione. Questo accade nell’output:
Output100
90
80
70
60
50
40
30
20
10
Quando si programma in Python, i cicli for
spesso utilizzano il tipo di sequenza range()
come parametri per l’iterazione.
Statement break con il ciclo for
Lo statement break viene utilizzato per uscire dal ciclo for prematuramente. Viene utilizzato per interrompere il ciclo for quando viene soddisfatta una condizione specifica.
Diciamo che abbiamo una lista di numeri e vogliamo controllare se un numero è presente o meno. Possiamo iterare sulla lista di numeri e se il numero viene trovato, uscire dal ciclo perché non è necessario continuare a iterare sugli elementi rimanenti.
In questo caso, utilizzeremo la condizione if else di Python insieme al nostro ciclo for.
Lo statement continue con il ciclo for
Possiamo utilizzare lo statement continue all’interno di un ciclo for per saltare l’esecuzione del corpo del ciclo for per una condizione specifica.
Supponiamo di avere una lista di numeri e vogliamo stampare la somma dei numeri positivi. Possiamo utilizzare le istruzioni continue per saltare il ciclo for per i numeri negativi.
Python ciclo for con un blocco else
Possiamo utilizzare il blocco else con un ciclo for Python. Il blocco else viene eseguito solo quando il ciclo for non viene terminato da un’istruzione break.
Supponiamo di avere una funzione per stampare la somma dei numeri solo se tutti i numeri sono pari.
Possiamo utilizzare l’istruzione break per terminare il ciclo for se è presente un numero dispari. Possiamo stampare la somma nella parte else in modo che venga stampata solo quando il ciclo for viene eseguito normalmente.
Cicli For utilizzando Tipi di Dati Sequenziali
Liste e altri tipi di sequenza dati possono essere utilizzati anche come parametri di iterazione nei cicli for
. Piuttosto che iterare attraverso un range()
, è possibile definire una lista e iterare attraverso quella lista.
Assegneremo una lista a una variabile, e poi itereremo attraverso la lista:
In questo caso, stiamo stampando ogni elemento della lista. Anche se abbiamo utilizzato la variabile squalo
, avremmo potuto chiamare la variabile con qualsiasi altro nome di variabile valido e avremmo ottenuto lo stesso output:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
L’output sopra mostra che il ciclo for
ha iterato attraverso la lista e ha stampato ogni elemento della lista per riga.
Le liste e altri tipi di dati basati su sequenza come stringhe e tuple sono comuni da utilizzare con i cicli perché sono iterabili. È possibile combinare questi tipi di dati con range()
per aggiungere elementi a una lista, ad esempio:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
Qui abbiamo aggiunto una stringa segnaposto di 'squalo'
per ogni elemento della lunghezza della lista squali
.
Puoi anche utilizzare un ciclo for
per costruire una lista da zero:
In questo esempio, la lista interi
viene inizializzata vuota, ma il ciclo for
popola la lista come segue:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Allo stesso modo, possiamo iterare attraverso le stringhe:
OutputS
a
m
m
y
Iterare attraverso le tuple viene fatto nello stesso formato dell’iterazione attraverso liste o stringhe sopra.
Quando si itera attraverso un dizionario, è importante tenere presente la struttura chiave : valore per assicurarsi di richiamare l’elemento corretto del dizionario. Ecco un esempio che richiama sia la chiave che il valore:
Outputname: Sammy
animal: shark
location: ocean
color: blue
Quando si utilizzano i dizionari con i cicli for
, la variabile di iterazione corrisponde alle chiavi del dizionario, e dictionary_variable[iterating_variable]
corrisponde ai valori. Nel caso sopra, la variabile di iterazione key
è stata utilizzata per rappresentare la chiave, e sammy_shark[key]
è stata utilizzata per rappresentare i valori.
I cicli sono spesso utilizzati per iterare e manipolare tipi di dati sequenziali.
Conclusioni
Il ciclo for in Python è molto simile ad altri linguaggi di programmazione. Possiamo utilizzare le istruzioni break e continue con il ciclo for per modificare l’esecuzione. Tuttavia, in Python, possiamo avere anche un blocco else opzionale nel ciclo for.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
Da qui, puoi continuare a imparare sui cicli leggendo tutorial su i cicli while e le istruzioni break, continue e pass.
Per lavorare con i cicli for
nei progetti, segui i seguenti tutorial:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3