
La funzione next() di Python
La funzione next() in Python ti permette di recuperare il prossimo elemento da un iteratore.
next(oggetto, end)
La funzione ha due parametri
- Il primo parametro è l'oggetto iteratore. E' obbligatorio
- Il secondo parametro è il messaggio da visualizzare al posto di StopIteration. E' facoltativo.
La funzione restituisce gli elementi dell'iteratore una alla volta.
Se non ci sono altri elementi, genera un'eccezione StopIteration.
Ecco un esempio pratico,
Crea un iteratore.
>>> my_iterator = iter([1, 2, 3])
Poi leggi il primo elemento
>>> next(my_iterator)
1
Leggi il secondo elemento
>>> next(my_iterator)
2
Leggi il terzo elemento
>>> next(my_iterator)
2
Ora se provi a leggere un ulteriore elemento, la funzione next() solleva un'eccezione StopIteration, perché non ci sono più elementi da restituire.
>>> next(my_iterator)
Traceback (most recent call last):
StopIteration
Volendo, puoi personalizzare quest'ultimo messaggio indicando una stringa come secondo parametro della funzione next.
>>> my_iterator = iter([1, 2, 3])
>>> next(my_iterator, "Fine" )
1
>>> next(my_iterator, "Fine" )
2
>>> next(my_iterator, "Fine" )
3
>>> next(my_iterator, "Fine" )
Fine
In questo caso Python non solleva l'eccezione StopIteration, mostrando il valore alfanumerico "Fine" che hai indicato.