[Python] Ancora sugli iteratori.

Massimiliano della Rovere massimiliano.dellarovere a gmail.com
Mar 3 Mar 2020 14:54:57 CET


nativamente no, ma puoi usare enumerate.

for index, value in enumerate(iterable):
    ....


Il giorno mar 3 mar 2020 alle ore 14:51 Gabriele Battaglia <iz4apu a libero.it>
ha scritto:

> Buon pomeriggio a tutti.
> Sono alle prese con il concetto che sta alla base degli iteratori.
> Nel mio caso specifico si tratta di un oggetto os.scandir(base_dir) che
> contiene gli oggetti di una directory ma credo andrebbe bene per
> quallsiasi altro oggetto iteratore.
>
> Fino ad ora ho compreso che un ciclo for sull'oggetto, itera i suoi
> elementi costitutivi, in maniera automatica. Volendo invece richiamare
> manualmente l'elemento successivo si può invocare il metodo __next__.
>
> Esiste però un modo per sapere l'indice dell'oggetto che sto ottenendo?
> Cioè, quale oggetto di quanti (tipo oggetto x su un totale di n).
>
> E poi, è possibile spostare il puntatore che itera all'interno
> dell'iterabile e punta il prossimo elemento da restituire?
>
> Ad esempio, se eseguo un ciclo for sul mio oggetto os.scandir e poi ne
> eseguo un secondo: il primo funziona, il secondo no perchè il puntatore
> è già arrivato a restituire l'ultimo elemento e, immagino, vada
> reinizializzato.
> Anche una cosa del tipo:
>
> numero_elementi = len(list(os.scandir(base_dir)))
>
> Funziona ma sembra portare il puntatore/itratore sull'ultimo elemento in
> quanto se eseguo poi un ciclo for su os.scandir, non ottengo nulla.
>
> Qualcuno ha voglia di darmi un indizio per chiarirmi le idee?
>
> --
> Gabriele Battaglia, IZ4APU (Libero)
> Sent from TB on Windows 10, Genus Bononiae's computer.
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20200303/1d20d30a/attachment.html>


Maggiori informazioni sulla lista Python