<div dir="ltr">nativamente no, ma puoi usare enumerate.<div><br></div><div>for index, value in enumerate(iterable):</div><div> ....</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mar 3 mar 2020 alle ore 14:51 Gabriele Battaglia <<a href="mailto:iz4apu@libero.it">iz4apu@libero.it</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Buon pomeriggio a tutti.<br>
Sono alle prese con il concetto che sta alla base degli iteratori.<br>
Nel mio caso specifico si tratta di un oggetto os.scandir(base_dir) che <br>
contiene gli oggetti di una directory ma credo andrebbe bene per <br>
quallsiasi altro oggetto iteratore.<br>
<br>
Fino ad ora ho compreso che un ciclo for sull'oggetto, itera i suoi <br>
elementi costitutivi, in maniera automatica. Volendo invece richiamare <br>
manualmente l'elemento successivo si può invocare il metodo __next__.<br>
<br>
Esiste però un modo per sapere l'indice dell'oggetto che sto ottenendo? <br>
Cioè, quale oggetto di quanti (tipo oggetto x su un totale di n).<br>
<br>
E poi, è possibile spostare il puntatore che itera all'interno <br>
dell'iterabile e punta il prossimo elemento da restituire?<br>
<br>
Ad esempio, se eseguo un ciclo for sul mio oggetto os.scandir e poi ne <br>
eseguo un secondo: il primo funziona, il secondo no perchè il puntatore <br>
è già arrivato a restituire l'ultimo elemento e, immagino, vada <br>
reinizializzato.<br>
Anche una cosa del tipo:<br>
<br>
numero_elementi = len(list(os.scandir(base_dir)))<br>
<br>
Funziona ma sembra portare il puntatore/itratore sull'ultimo elemento in <br>
quanto se eseguo poi un ciclo for su os.scandir, non ottengo nulla.<br>
<br>
Qualcuno ha voglia di darmi un indizio per chiarirmi le idee?<br>
<br>
-- <br>
Gabriele Battaglia, IZ4APU (Libero)<br>
Sent from TB on Windows 10, Genus Bononiae's computer.<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>