p

python tutorial - Python Iterator | Iterator Functions in Python - learn python - python programming



Python in its definition also allows some interesting and useful iterator functions for efficient looping and making execution of the code faster. There are many build-in iterators in the module “itertools“.
This module implements a number of iterator building blocks.
Some useful Iterators :

1. accumulate(iter, func) :- This iterator takes two arguments, iterable target and the function which would be followed at each iteration of value in target. If no function is passed, addition takes place by default.If the input iterable is empty, the output iterable will also be empty.

2. chain(iter1, iter2..) :- This function is used to print all the values in iterable targets one after another mentioned in its arguments.

 python iterator function

Learn Python - Python tutorial - python iterator function - Python examples - Python programs

python - Sample - python code :

# Python code to demonstrate the working of 
# accumulate() and chain()
 
# importing "itertools" for iterator operations
import itertools
 
# importing "operator" for operator operations
import operator
 
# initializing list 1
li1 = [1, 4, 5, 7]
 
# initializing list 2
li2 = [1, 6, 5, 9]
 
# initializing list 3
li3 = [8, 10, 5, 4]
 
# using accumulate()
# prints the successive summation of elements
print ("The sum after each iteration is : ",end="")
print (list(itertools.accumulate(li1)))
 
# using accumulate()
# prints the successive multiplication of elements
print ("The product after each iteration is : ",end="")
print (list(itertools.accumulate(li1,operator.mul)))
 
# using chain() to print all elements of lists
print ("All values in mentioned chain are : ",end="")
print (list(itertools.chain(li1,li2,li3)))

python tutorial - Output :

The sum after each iteration is : [1, 5, 10, 17]
The product after each iteration is : [1, 4, 20, 140]
All values in mentioned chain are : [1, 4, 5, 7, 1, 6, 5, 9, 8, 10, 5, 4]

3. chain.from_iterable() :- This function is implemented similarly as chain() but the argument here is a list of lists or any other iterable container.

4. compress(iter, selector) :- This iterator selectively picks the values to print from the passed container according to the boolean list value passed as other argument. The arguments corresponding to boolean true are printed else all are skipped.

python - Sample - python code :

# Python code to demonstrate the working of 
# chain.from_iterable() and compress()
 
# importing "itertools" for iterator operations
import itertools
 
# initializing list 1
li1 = [1, 4, 5, 7]
 
# initializing list 2
li2 = [1, 6, 5, 9]
 
# initializing list 3
li3 = [8, 10, 5, 4]
 
# intializing list of list
li4 = [li1, li2, li3]
 
# using chain.from_iterable() to print all elements of lists
print ("All values in mentioned chain are : ",end="")
print (list(itertools.chain.from_iterable(li4)))
 
# using compress() selectively print data values
print ("The compressed values in string are : ",end="")
print (list(itertools.compress('WIKITECHY',[1,0,0,0,0,1,0,0,1,])))

python tutorial - Output :

All values in mentioned chain are : [1, 4, 5, 7, 1, 6, 5, 9, 8, 10, 5, 4]
The compressed values in string are : ['W', 'E', 'Y']

5. dropwhile(func, seq) :- This iterator starts printing the characters only after the func. in argument returns false for the first time.

6. filterfalse(func, seq) :- As the name suggests, this iterator prints only values that return false for the passed function.

python - Sample - python code :

# Python code to demonstrate the working of 
# dropwhile() and filterfalse()
 
# importing "itertools" for iterator operations
import itertools
 
# initializing list 
li = [2, 4, 5, 7, 8]
 
# using dropwhile() to start displaying after condition is false
print ("The values after condition returns false : ",end="")
print (list(itertools.dropwhile(lambda x : x%2==0,li)))
 
# using filterfalse() to print false values
print ("The values that return false to function are : ",end="")
print (list(itertools.filterfalse(lambda x : x%2==0,li)))

python tutorial - Output :

The values after condition returns false : [5, 7, 8]
The values that return false to function are : [5, 7]

Wikitechy tutorial site provides you all the learn python , python code , python script , python windows , python mysql , django python , python django , python compiler , jython , python interpreter , what is python , python join , python input , python modules , python editor , python examples , python pdf , python documentation

Related Searches to Iterator Functions in Python