Table of Contents
The Python iter() function returns an iterator for the given object.
The iter() function creates an object which can be iterated one element at a time.
These objects are useful when coupled with loops like for loop, while loop.
The syntax of the iter() function is:
iter(object, sentinel)
1. iter() Parameters
The iter() function takes two parameters:
- object – object whose iterator has to be created (can be sets, tuples, etc.)
- sentinel (optional) – special value that is used to represent the end of a sequence
2. Return value from iter()
- The
iter()function returns an iterator object for the given object. - If the user-defined object doesn’t implement
__iter__(), and__next__()or__getitem()__, theTypeErrorexception is raised. - If the sentinel parameter is also provided,
iter()returns an iterator until the sentinel character isn’t found.
3. Example 1: Working of Python iter()
# list of vowels vowels = ['a', 'e', 'i', 'o', 'u'] vowels_iter = iter(vowels) print(next(vowels_iter)) # 'a' print(next(vowels_iter)) # 'e' print(next(vowels_iter)) # 'i' print(next(vowels_iter)) # 'o' print(next(vowels_iter)) # 'u'
Output
a e i o u
4. Example 2: iter() for custom objects
class PrintNumber:
def __init__(self, max):
self.max = max
def __iter__(self):
self.num = 0
return self
def __next__(self):
if(self.num >= self.max):
raise StopIteration
self.num += 1
return self.num
print_num = PrintNumber(3)
print_num_iter = iter(print_num)
print(next(print_num_iter)) # 1
print(next(print_num_iter)) # 2
print(next(print_num_iter)) # 3
# raises StopIteration
print(next(print_num_iter))
Output
1 2 3 Traceback (most recent call last): File "", line 23, in File "", line 11, in __next__ StopIteration
5. Example 3: iter() with sentinel parameter
class DoubleIt:
def __init__(self):
self.start = 1
def __iter__(self):
return self
def __next__(self):
self.start *= 2
return self.start
__call__ = __next__
my_iter = iter(DoubleIt(), 16)
for x in my_iter:
print(x)
Output
2 4 8
Here, we have implemented a custom iterable object without a StopIteration condition.
However, we can use the iter() method with the sentinel parameter to stop the iteration. If the value returned from __next__() is equal to sentinel, StopIteration will be raised, otherwise, the value will be returned.
Recommended Reading: Python Iterators
Related posts:
Python for Programmers with introductory AI case studies - Paul Deitel & Harvey Deitel
Python Program to Differentiate Between del, remove, and pop on a List
Python String zfill()
Python String count()
Python sum()
Python Program to Count the Number of Digits Present In a Number
Intelligent Projects Using Python - Santanu Pattanayak
Python Program to Measure the Elapsed Time in Python
Python len()
Python strptime()
Building Machine Learning Systems with Python - Willi Richert & Luis Pedro Coelho
Python Dictionary update()
Python List index()
Python map()
Python break and continue
Python any()
Python Program to Get File Creation and Modification Date
Python sorted()
Python Program to Print Hello world!
Python bytearray()
Python Program to Remove Punctuations From a String
Python Machine Learning Cookbook - Practical solutions from preprocessing to Deep Learning - Chris A...
Python Exception Handling Using try, except and finally statement
Python Data Structures and Algorithms - Benjamin Baka
Python Program to Find the Size (Resolution) of a Image
Python pass statement
Python Function Arguments
Python frozenset()
Python Get Current time
Python Program to Get the Last Element of the List
Python Machine Learning - Sebastian Raschka
Python Program to Convert Decimal to Binary, Octal and Hexadecimal