Fundamentals 3 min read

Using the Python next() Function to Retrieve the Next Item from an Iterator

This article explains Python's built‑in next() function, its syntax with an optional default argument, demonstrates how it retrieves successive items from an iterator, and highlights differences in Python 3 file handling and default‑value behavior.

Test Development Learning Exchange
Test Development Learning Exchange
Test Development Learning Exchange
Using the Python next() Function to Retrieve the Next Item from an Iterator

In Python, the built-in next() function returns the next item from an iterator by internally calling the iterator’s __next__() method.

The syntax is next(iterator[, default]) , where iterator is any iterable object and the optional default value is returned instead of raising StopIteration when the iterator is exhausted.

Example:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

it = iter([1, 2, 3, 4, 5])
while True:
    try:
        x = next(it)
        print(x)
    except StopIteration:
        break

The loop prints the numbers 1 through 5, and exits cleanly when the iterator is exhausted.

Note that in Python 3 the file object does not implement a next() method; instead the built‑in next() function can be used to retrieve the next line from a file object.

When a default argument is supplied, next() returns that value after the iterator is exhausted instead of raising an exception. For instance:

a = iter('abcd')
print(next(a, 'e'))  # 'a'
print(next(a, 'e'))  # 'b'
print(next(a, 'e'))  # 'c'
print(next(a, 'e'))  # 'd'
print(next(a, 'e'))  # 'e'
print(next(a, 'e'))  # 'e'
Pythonprogramming fundamentalsIteratornextbuilt-in-function
Test Development Learning Exchange
Written by

Test Development Learning Exchange

Test Development Learning Exchange

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.