Я хочу рассчитать декартово произведение из меняющегося числа множеств.
Декартовой продукт можно вычислить с помощью itertools.product(*args, repeat=1)
itertools.product(set1, set2, repeat=1)
но количество наборов фактически неизвестно, это зависит от данных. Иногда это может быть 2 группы, иногда 3 или более.
Есть ли способ представить * args, чтобы он мог динамически изменять количество аргументов?
myargs = [set1, set2, set3]
itertools.product(myargs,repeat=1)
Да, есть такой путь. Используйте оператор расширения *
аргумента:
myargs = [set1, set2, set3]
itertools.product(*myargs,repeat=1)
Ссылка: