Itertools Module:
Itertools is a Python module that contains a collection of functions for dealing with iterators. They make it very simple to iterate through iterables such as lists and strings.
Itertools.tee() Function:
This iterator divides the container into the iterators specified in the argument.
Syntax:
tee(iterator, count)
Parameters
iterator: It is an iterator.
count: It is an integer.
Return Value:
The number of iterators specified in the argument is returned by this method.
Examples:
Example1:
Input:
Given list = [1, 3, 5, 2, 7] Given count = 4
Output:
The following iterators : [1, 3, 5, 2, 7] [1, 3, 5, 2, 7] [1, 3, 5, 2, 7] [1, 3, 5, 2, 7]
Example2:
Input:
Given list = [2, 4, 8, 1, 3] Given count = 2
Output:
The following iterators : [2, 4, 8, 1, 3] [2, 4, 8, 1, 3]
Itertools.tee() Function with Examples in Python
Method #1: Using Built-in Functions (Static Input)
Approach:
- Import itertools module using the import keyword.
- Give the list as static input and store it in a variable.
- Get the iterator of the given list using the iter() function.
- Store it in a variable.
- Pass the above iterator and some random count value as the arguments to the itertools.tee() function and store it in another variable.
- Loop till the given count value using the for loop.
- Inside the loop, print the list of iterator values of the above result.
- The Exit of the Program.
Below is the implementation:
# Import itertools module using the import keyword. import itertools # Give the list as static input and store it in a variable. gvn_lst = [1, 3, 5, 2, 7] # Get the iterator of the given list using the iter() function. # Store it in a variable. itertr = iter(gvn_lst) # Pass the above iterator and some random count value as the arguments to the # itertools.tee() function and store it in another variable. # Using tee() function to create a list of iterators results in a given list of # 4 iterators with the same values. rslt = itertools.tee(itertr, 4) # Loop till the given count value using the for loop. print("The following iterators : ") for itr in range(0, 4): # Print the list of iterator values of the above rslt. print(list(rslt[itr]))
Output:
The following iterators : [1, 3, 5, 2, 7] [1, 3, 5, 2, 7] [1, 3, 5, 2, 7] [1, 3, 5, 2, 7]
Method #2: Using Built-in Functions (User Input)
Approach:
- Import itertools module using the import keyword.
- Give the list as user input using list(),map(),input(),and split() functions.
- Store it in a variable.
- Give the count value as user input using the int(input()) function and store it in another variable.
- Get the iterator of the given list using the iter() function.
- Store it in a variable.
- Pass the above iterator and the given count value as the arguments to the itertools.tee() function and store it in another variable.
- Loop till the given count value using the for loop.
- Inside the loop, print the list of iterator values of the above result.
- The Exit of the Program.
Below is the implementation:
# Import itertools module using the import keyword. import itertools # Give the list as user input using list(),map(),input(),and split() functions. # Store it in a variable. gvn_lst = list(map(int, input( 'Enter some random List Elements separated by spaces = ').split())) # Give the count value as user input using the int(input()) function # and store it in a variable. gvn_cnt = int(input("Enter some random number = ")) # Get the iterator of the given list using the iter() function. # Store it in a variable. itertr = iter(gvn_lst) # Pass the above iterator and the given count value as the arguments to the # itertools.tee() function and store it in another variable. # Using tee() function to create a list of iterators results in a given list of # given count number of iterators with the same values. rslt = itertools.tee(itertr, gvn_cnt) # Loop till the given count value using the for loop. print("The following iterators : ") for itr in range(0, gvn_cnt): # Print the list of iterator values of the above rslt. print(list(rslt[itr]))
Output:
Enter some random List Elements separated by spaces = 2 4 8 1 3 Enter some random number = 2 The following iterators : [2, 4, 8, 1, 3] [2, 4, 8, 1, 3]