Cosa sono gli iteratori?
Lezione 1 di 13 del corso Iteratori in Python di Coddy.
Gli iteratori sono un concetto fondamentale in Python che consente di attraversare una raccolta di elementi, uno alla volta. Offrono un modo per accedere in sequenza agli elementi di un oggetto contenitore senza dover conoscere la struttura sottostante del contenitore.
Che cos'è un iteratore?
Un iteratore in Python è un oggetto che implementa due metodi speciali:
__iter__(): restituisce l'oggetto iteratore stesso.__next__(): restituisce il valore successivo nell'iterazione.
Gli iteratori vengono usati per iterare su oggetti iterabili. Quando usi un ciclo for in Python, dietro le quinte stai usando un iteratore.
Iterabile e iteratore a confronto
È importante capire la differenza tra un iterabile e un iteratore:
| Iterabile | Iteratore |
|---|---|
| Un oggetto in grado di restituire i propri elementi uno alla volta | Un oggetto che rappresenta un flusso di dati |
Implementa il metodo __iter__() |
Implementa entrambi i metodi __iter__() e __next__() |
| Esempi: liste, tuple, stringhe | Creato da un iterabile usando la funzione iter() |
Esempio di utilizzo di un iteratore
Ecco un semplice esempio di come usare un iteratore in Python:
my_list = [1, 2, 3, 4, 5]
my_iterator = iter(my_list)
print(next(my_iterator)) # Risultato: 1
print(next(my_iterator)) # Risultato: 2
print(next(my_iterator)) # Risultato: 3
In questo esempio, my_list è un iterabile e my_iterator è l'iteratore creato a partire da esso usando la funzione iter(). Quindi usiamo la funzione next() per recuperare gli elementi dall'iteratore uno alla volta.
Gli iteratori svolgono un ruolo fondamentale in Python perché offrono un modo efficiente in termini di memoria per gestire grandi insiemi di dati e consentono la valutazione differita dei dati.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Provalo tu
Questa lezione non include una sfida di codice.
Tutte le lezioni di Iteratori in Python
Esercitati da solo: Compilatore Python online