Spaces:
Runtime error
Runtime error
""" | |
Thin wrappers around `itertools`. | |
""" | |
import itertools | |
from ..auto import tqdm as tqdm_auto | |
__author__ = {"github.com/": ["casperdcl"]} | |
__all__ = ['product'] | |
def product(*iterables, **tqdm_kwargs): | |
""" | |
Equivalent of `itertools.product`. | |
Parameters | |
---------- | |
tqdm_class : [default: tqdm.auto.tqdm]. | |
""" | |
kwargs = tqdm_kwargs.copy() | |
tqdm_class = kwargs.pop("tqdm_class", tqdm_auto) | |
try: | |
lens = list(map(len, iterables)) | |
except TypeError: | |
total = None | |
else: | |
total = 1 | |
for i in lens: | |
total *= i | |
kwargs.setdefault("total", total) | |
with tqdm_class(**kwargs) as t: | |
it = itertools.product(*iterables) | |
for i in it: | |
yield i | |
t.update() | |