Ecco una spiegazione di cosa significa "iterabile" in programmazione, presentata in formato Markdown:
Un iterabile è un oggetto in Python (e in molti altri linguaggi di programmazione) che può essere iterato, ovvero i cui elementi possono essere attraversati uno ad uno. In altre parole, è un oggetto che puoi usare in un ciclo for
.
Cosa rende un oggetto iterabile?
Un oggetto è considerato iterabile se definisce il metodo __iter__()
, che restituisce un iteratore o se definisce il metodo __getitem__()
con argomenti di indice che iniziano da 0 (e solleva IndexError
quando gli indici non sono più validi).
Esempi comuni di iterabili:
[1, 2, 3]
(<a href="https://it.wikiwhat.page/kavramlar/Liste">List</a>)(1, 2, 3)
(<a href="https://it.wikiwhat.page/kavramlar/Tuple">Tuple</a>)"ciao"
(<a href="https://it.wikiwhat.page/kavramlar/Stringhe">Stringhe</a>){"a": 1, "b": 2}
(itera sulle chiavi) (<a href="https://it.wikiwhat.page/kavramlar/Dizionari">Dizionari</a>){1, 2, 3}
(<a href="https://it.wikiwhat.page/kavramlar/Set">Set</a>)Iteratori:
Un iteratore è un oggetto che produce i valori dell'iterabile uno alla volta. Implementa il metodo __next__()
, che restituisce l'elemento successivo nella sequenza. Quando non ci sono più elementi, __next__()
solleva un'eccezione StopIteration
. La funzione iter()
viene utilizzata per ottenere un iteratore da un iterabile. La funzione next()
viene utilizzata per ottenere l'elemento successivo dall'iteratore.
Esempio:
my_list = [1, 2, 3]
my_iterator = iter(my_list)
print(next(my_iterator)) # Output: 1
print(next(my_iterator)) # Output: 2
print(next(my_iterator)) # Output: 3
# next(my_iterator) # Questo solleverebbe StopIteration
Perché gli iterabili sono importanti?