Некоторые функции принимают в параметрах переменное число аргументов *args, как например функция перебора вариантов itertools.product.
1 2 3 |
list(itertools.product(['a', 'b'], [1, 2])) # [('a', 1), ('a', 2), ('b', 1), ('b', 2)] |
Для того, чтобы передать в такую функцию параметры одним списком, нужно использовать оператор *
1 2 3 4 5 |
my_list = [['a', 'b'], [1, 2]] list(itertools.product(*my_list)) # [('a', 1), ('a', 2), ('b', 1), ('b', 2)] |