The next()
function returns the next item from the iterator.
Example
marks = [65, 71, 68, 74, 61]
# convert list to iterator
iterator_marks = iter(marks)
# the next element is the first element
marks_1 = next(iterator_marks)
print(marks_1)
# find the next element which is the second element
marks_2 = next(iterator_marks)
print(marks_2)
# Output: 65
# 71
next() Syntax
The syntax of next()
is:
next(iterator, default)
next() Parameters
- iterator -
next()
retrieves next item from the iterator - default (optional) - this value is returned if the iterator is exhausted (there is no next item)
next() Return Value
- The
next()
function returns the next item from the iterator. - If the iterator is exhausted, it returns the
default
value passed as an argument. - If the default parameter is omitted and the iterator is exhausted, it raises the
StopIteration
exception.
Example 1: Get the next item
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))
Output
<list_iterator object at 0x7feb49032b00> 5 9 cat Traceback (most recent call last): File "python", line 18, in <module> StopIteration
A list is an iterable and you can get its iterator from it by using the iter()
function in Python.
Learn more about
We got an error from the last statement in the above program because we tried to get the next item when no next item was available (iterator is exhausted).
In such cases, you can give a default value as the second parameter.
Example 2: Passing default value to 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'))
Output
5 9 -1 -1 -1
Note: Internally, next()
calls the __next__()
method.