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()__
, theTypeError
exception 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 Program to Check If Two Strings are Anagram
Python __import__()
Python Program to Compute all the Permutation of the String
Python Program to Count the Occurrence of an Item in a List
Python Program to Check if a Number is Positive, Negative or 0
Python divmod()
Python Program to Append to a File
Python List index()
Python Get Current time
Python Set isdisjoint()
Python String zfill()
Python exec()
Python String replace()
Python Program to Capitalize the First Character of a String
Python Dictionary setdefault()
Python Program to Slice Lists
Python Program to Access Index of a List Using for Loop
Python oct()
Python Program to Count the Number of Digits Present In a Number
How to get current date and time in Python?
Python Program to Count the Number of Each Vowel
Python chr()
Machine Learning Mastery with Python - Understand your data, create accurate models and work project...
Python del Statement
Python Program to Convert Celsius To Fahrenheit
Python staticmethod()
Python dir()
Python Program to Get Line Count of a File
Python String isspace()
Python Multiple Inheritance
Python Program to Randomly Select an Element From the List
Python List