Terminating iterators are used to work on the short input sequences and produce the output based on the functionality of the method used.
Some of the terminating iterators are:
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.
import itertools import operator my_arr = [1, 4, 5, 7] # using accumulate() # prints the successive summation of elements print (list(itertools.accumulate(my_arr))) # prints [1, 5, 10, 17]
chain(iter1, iter2..): This function is used to print all the values in iterable targets one after another mentioned in its arguments.
import itertools arr1 = [1, 4, 5, 7] arr2 = [1, 6, 5, 9] arr3 = [8, 10, 5, 4] # using chain() to print all elements of lists print (list(itertools.chain(arr1, arr2, arr3))) # prints [1, 4, 5, 7, 1, 6, 5, 9, 8, 10, 5, 4]
tee(iterator, count):- This iterator splits the container into a number of iterators mentioned in the argument.
import itertools arr = [2, 4, 6, 7, 8, 10, 20] # storing list in iterator iti = iter(arr) # using tee() to make a list of iterators # makes list of 3 iterators having same values. it = itertools.tee(iti, 3) # printing the values of iterators for i in range (0, 3): print (list(it[i])) # prints [2, 4, 6, 7, 8, 10, 20] [2, 4, 6, 7, 8, 10, 20] [2, 4, 6, 7, 8, 10, 20]
You can read all terminating iterators here
.
Try the following example in the editor given below.
Given three list of integers called arr1, arr2, arr3 in the editor. Perform operations as described in the comments.