Iterabile e Iteratore in Python

Messaggioda astruso83 » 17/01/2022, 21:20

Salve,

Oggi sono alle prese con Python ed i concetti di iterabile e iteratore.
Si tratta di due oggetti diversi ma che hanno di certo una relazione.

Un oggetto iterabile e' facile da capire. Una lista, una tupla, un dizionario son esempi di iterabile. Qualsiasi oggetto/struttura di dati formata da piu' elementi e che si puo' usare per fare su di essa un'iterazione, per esempio in un loop for...., e' un iterabile.

Passiamo ora all' interatore: si tratta di un oggetto a cui si puo' applicare consecutivamente il metodo next() per ottenere uno ad uno gli elementi dell'iteratore stesso...Un' interabile si puo' convertire in un iteratore con il metodo iter().... Nel caso di un loop for, ex:

for i in iterabile:
print(i)

l'iterabile viene convertita in un iteratore per poter eseguire l'iterazione. Detto tutto questo, per iterare un iterabile si puo' usare l'indicizzazione. Oppure convertire l'interabile in un iteratore. In un certo senso, l'iterazione si puo' eseguire sull'iterabile solo se si trasforma l'iterabile in iteratore...

Grazie per qualsiasi chiarimento!
Astruso83
astruso83
Junior Member
Junior Member
 
Messaggio: 124 di 245
Iscritto il: 19/03/2014, 01:43

Re: Iterabile e Iteratore in Python

Messaggioda Quinzio » 17/01/2022, 21:23

l'iterabile viene convertita in un iteratore per poter eseguire l'iterazione. Detto tutto questo, per iterare un iterabile si puo' usare l'indicizzazione. Oppure convertire l'interabile in un iteratore. In un certo senso, l'iterazione si puo' eseguire sull'iterabile solo se si trasforma l'iterabile in iteratore...


Da quello che scrivi... mi sembra che hai gia' capito tutto.
Quinzio
Cannot live without
Cannot live without
 
Messaggio: 4755 di 10548
Iscritto il: 24/08/2010, 06:50

Re: Iterabile e Iteratore in Python

Messaggioda astruso83 » 17/01/2022, 21:41

Grazie per la conferma. Il cruccio era la differenza fra i due, iterabile e iteratore. La mia conclusione sembra essere che l'iteratore sia, come dire, cio'e che permette l'implementazione di un'iterazione su di un'iterabile.
Poi, per essere sottili, qualsiasi iteratore e' un'iterabile....ma non vice versa. Una lista non e' un iteratore finche' non la si converte in tale...
astruso83
Junior Member
Junior Member
 
Messaggio: 125 di 245
Iscritto il: 19/03/2014, 01:43


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite