Python's Itertool is a module that provides various functions that work on iterators to produce complex iterators. This module works as a fast, memory-efficient tool that is used either by themselves or in combination to form iterator algebra.
Note: For more information, refer to Python Itertools
The functions under itertools can be classified into 3 categories
Python3 1==
Output :
Python3 1==
- Functions producing Infinite Iterators
- Functions producing Iterators terminating on the shortest input sequence
- Functions producing Combinatoric generators
Chain.from_iterable() method
The functionchain.from_iterable() comes under the category of terminating iterators. This function takes a single iterable as an argument and all the elements of the input iterable should also be iterable and it returns a flattened iterable containing all the elements of the input iterable.
Syntax : chain.from_iterable(iterable)Example #1:
# Importing chain class from itertools
from itertools import chain
# Single iterable containing iterable
# elements(strings) is passed as input
from_iterable = chain.from_iterable(['geeks',
'for',
'geeks'])
# printing the flattened iterable
print(list(from_iterable))
['g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's']Example #2:
# Importing chain class from itertools
from itertools import chain
# Single iterable containing iterable
# elements(strings and list) is passed
# as input
from_iterable = chain.from_iterable(['geeks',
'for',
'geeks',
['w', 'i', 'n', 's']])
# printing the flattened iterable
print(list(from_iterable))
Output :
['g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's', 'w', 'i', 'n', 's']