Python successivo ()

La funzione next () restituisce l'elemento successivo dall'iteratore.

La sintassi di next()è:

 successivo (iteratore, predefinito)

next () Parametri

  • iteratore : next()recupera l'elemento successivo dall'iteratore
  • default (opzionale): questo valore viene restituito se l'iteratore è esaurito (non c'è elemento successivo)

Valore restituito dal successivo ()

  • La next()funzione restituisce l'elemento successivo dall'iteratore.
  • Se l'iteratore è esaurito, restituisce il defaultvalore passato come argomento.
  • Se il parametro predefinito viene omesso e l'iteratore è esaurito, solleva StopIterationun'eccezione.

Esempio 1: ottieni l'elemento successivo

 random = (5, 9, 'cat') # converting the list to an iterator random_iterator = iter(random) print(random_iterator) # Output: 5 print(next(random_iterator)) # Output: 9 print(next(random_iterator)) # Output: 'cat' print(next(random_iterator)) # This will raise Error # iterator is exhausted print(next(random_iterator))

Produzione

 5 9 cat Traceback (la chiamata più recente per ultima): File "python", riga 18, in StopIteration

Un elenco è un iterabile e puoi ottenere il suo iteratore da esso utilizzando la iter()funzione in Python.

Impara di più riguardo

  • Iteratori Python
  • Funzione iter () di Python

Abbiamo ricevuto un errore dall'ultima istruzione nel programma precedente perché abbiamo cercato di ottenere l'elemento successivo quando non era disponibile alcun elemento successivo (l'iteratore è esaurito).

In questi casi, è possibile fornire un valore predefinito come secondo parametro.

Esempio 2: passaggio del valore predefinito a next ()

 random = (5, 9) # converting the list to an iterator random_iterator = iter(random) # Output: 5 print(next(random_iterator, '-1')) # Output: 9 print(next(random_iterator, '-1')) # random_iterator is exhausted # Output: '-1' print(next(random_iterator, '-1')) print(next(random_iterator, '-1')) print(next(random_iterator, '-1'))

Produzione

 5 9-1-1-1

Nota: internamente, next()chiama il __next__()metodo.

Articoli interessanti...