具有可变数量参数的Python itertools.product

时间:2012-04-13 21:56:12

标签: python list itertools

我正在尝试编写一个模块,使用itertools.product组合可变数量的列表。

我能得到的最接近的是:

import itertools
lists = [["item1","item2"],["A","b","C"], ["etc..."]]
searchterms = list(itertools.product(lists))
print searchterms

这不起作用,因为列表是单个列表,因此它只返回原始序列。但我无法弄清楚如何将lists变量的每个元素传递给itertools。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:17)

您需要使用*将单个列表分成其组成列表:

searchterms = list(itertools.product(*lists))

请参阅Unpacking Argument Lists上的Python教程部分。