Skip to content
Related Articles

Related Articles

Python next() method

Improve Article
Save Article
Like Article
  • Last Updated : 22 Sep, 2021

Python next() function returns the next item of an iterator. In this article, we will cover next() syntax, next() parameters, next() returns.

Syntax : next(iter, stopdef)

Parameters : 

  • iter : The iterator over which iteration is to be performed.
  • stopdef : Default value to be printed if we reach end of iterator.

Returns : Returns next element from the list, if not present prints the default value. If default value is not present, raises the StopIteration error.

Python next() method example

Example 1: Demonstrating the working of next() 

Here we will see the python next() in loop.

Python3




# Python code to demonstrate
# working of next()
 
# initializing list
list1 = [1, 2, 3, 4, 5]
 
# converting list to iterator
list1 = iter(list1)
 
print("The contents of list are : ")
 
# printing using next()
# using default
while (1):
    val = next(list1, 'end')
    if val == 'end':
        print('list end')
        break
    else:
        print(val)


Output:

The contents of list are : 
1
2
3
4
5
list end

Example 2: Get the next item from the iterator

Python3




list1 = [1, 2, 3, 4, 5]
 
# converting list to iterator
list1 = iter(list1)
 
print(list1)
print(next(list1))
print(next(list1))
print(next(list1))


Output:

<list_iterator object at 0x0000021D7C801D88>
1
2
3

Example 3: Passing default value to next()

Python3




list1 = [1, 2, 3, 4, 5]
 
# converting list to iterator
list1 = iter(list1)
 
print(list1)
print(next(list1, -1))
print(next(list1, -1))
print(next(list1, -1))
print(next(list1, -1))
print(next(list1, -1))
print(next(list1, -1))
print(next(list1, -1))


Output:

<list_iterator object at 0x0000021D7AE08908>
1
2
3
4
5
-1
-1

Example 6: Python next() stopiteration

Python3




list1 = [1, 2, 3, 4, 5]
 
# converting list to iterator
list1 = iter(list1)
 
print(list1)
print(next(list1))
print(next(list1))
print(next(list1))
print(next(list1))
print(next(list1))
print(next(list1))


Output:

<list_iterator object at 0x0000021D7ADF55C8>
1
2
3
4
5
---------------------------------------------------------------------------
StopIteration                             Traceback (most recent call last)
<ipython-input-17-02f0e1df3bbe> in <module>
    10 print(next(list1))
    11 print(next(list1))
---> 12 print(next(list1))

StopIteration: 

While calling out of the range of iterator then it rises Stopoteration error, to avoid this error we will use the default value as an argument.

Example 5: Performance Analysis 

Python3




# Python code to demonstrate
# next() vs for loop
import time
 
# initializing list
list1 = [1, 2, 3, 4, 5]
 
# keeping list2
list2 = list1
 
# converting list to iterator
list1 = iter(list1)
 
print("The contents of list are : ")
 
# printing using next()
# using default
start_next = time.time()
while (1):
    val = next(list1, 'end')
    if val == 'end':
        break
    else:
        print(val)
print("Time taken for next() is : " + str(time.time() - start_next))
 
# printing using for loop
start_for = time.time()
for i in list2:
    print(i)
print("Time taken for loop is : " + str(time.time() - start_for))


Output: 

The contents of list are : 
1
2
3
4
5
Time taken for next() is : 5.96046447754e-06
1
2
3
4
5
Time taken for loop is : 1.90734863281e-06

Result: Python next in For loop is a better choice when printing the contents of the list than next().

Applications: next() is the utility function for printing the components of the container of iter type. Its usage is when the size of the container is not known or we need to give a prompt when the list/iterator has exhausted.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!