Itertools
is a module in Python that enables fast, and memory-efficient iteration over iterable data structures.
The module has a number of functions that construct and return iterators. One such function is the zip_longest
function. This function makes an iterator that aggregates elements from each of the iterables. The iteration continues until the longest iterable is not exhausted.
zip_longest(*iterables, fillvalue=None)
This function takes two arguments:
iterables
: This is the data structure(s) over which we want to iterate.
fillvalue
: This is the value that we want to fill in the case where iterables
are of uneven length.
The function returns the aggregated data structure.
import itertoolsx =[1, 2, 3, 4, 5, 6, 7]y =[8, 9, 10]a = [12,13,14]z = list(itertools.zip_longest(x, y, a, fillvalue = 'a'))print("Aggregated List:",z)
x
, y
, and a
. The longest list is x
, because it contains the most number of elements.zip_longest
function, which aggregates each item in the provided lists. We also provide the fillvalue
as a
.The output list shows the aggregated list where the missing values in the smaller lists are filled with a
.