Python next() Function



The Python next() function is used to iterate through the contents of a Python iterator object, an object representing a stream of data. If you pass an iterator object to this function, it returns the next item in it. You can use this function and loop through all the elements of the iterator object.

The next() function internally calls the __next__() method of the given iterator object. If you invoke this function after exhausting the elements of the iterator object, it raises an exception.

You can provide a "default value" along with the iterator object. If the iterator is exhausted, the next() function returns the specified default value instead of raising an StopIteration exception.

The Python File class method provides a next() method (deprecated in python 3.x) which is different from this function. This next() method returns the contents of the next line of the current file whereas, the built-in function next() returns the next item in the given iterator object.

Syntax

Following is the syntax for the Python next() Function −

next(iterator, default)

Parameters

Following are the parameters of this function −

  • iterator: This represents an Iterator object.
  • default: This represents the default value that is to be returned in case of an exception.

Return Value

This method returns the next element of the given iterator object.

Example 1

The following is the basic example of the Python next() function −

iterator = iter({163, 884, 992})
print (next(iterator))

Output

When we run above program, it produces following result −

992

Example 2

As discussed above, while you are trying to retrieve the next element and there are no elements available in the object, this function generates an StopIteration exception.

In the following example we have created an iterator object with 4 elements, and invoked the next() function five times you can observe that it generated an exception during the last iteration.

iterator = iter({'Java', 'JavaFX', 'Coffee Script', 'OpenCV'})
print (next(iterator))
print (next(iterator))
print (next(iterator))
print (next(iterator))
print (next(iterator))

Output

If we compile and run the program above, the result is produced as follows −

JavaFX
Java
OpenCV
Coffee Script
Traceback (most recent call last):
  File "/home/cg/root/22791/main.py", line 6, in 
    print (next(iterator))
StopIteration

Example 3

Now, lets try to avoid the exception using the exception handling mechanism. In here, we are invoking the next() function within a loop and handling the exception using the try-except blocks −

iterator = iter({'Java', 'JavaFX', 'Coffee Script', 'OpenCV'})
while True:
   try:
      contents = next(iterator)
      print (contents)
   except StopIteration:
      break

Output

The above program generates the following output −

JavaFX
Java
OpenCV
Coffee Script

Example 4

We can also avoid the exception by providing "default value" as a parameter along with the iterator object as shown in the following example −

capitals = {"Telangana":"Hyderabad", "Tamilnadu":"Chennai"}
it = iter(capitals)
print (next(it))
print (next(it))
print (next(it, "Delhi"))

Output

The above program generates the following output −

Telangana
Tamilnadu
Delhi
python_built_in_functions.htm
Advertisements