我正在尝试编写一个模块,使用itertools.product组合可变数量的列表。
我能得到的最接近的是:
import itertools
lists = [["item1","item2"],["A","b","C"], ["etc..."]]
searchterms = list(itertools.product(lists))
print searchterms
这不起作用,因为列表是单个列表,因此它只返回原始序列。但我无法弄清楚如何将lists变量的每个元素传递给itertools。
感谢您的任何建议。
答案 0 :(得分:17)
您需要使用*
将单个列表分成其组成列表:
searchterms = list(itertools.product(*lists))
请参阅Unpacking Argument Lists上的Python教程部分。