Python itertools.product具有可变数量的争论

ral*_*526 7 python list python-itertools

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

我能得到的最接近的是:

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

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

谢谢你的任何建议.

agf*_*agf 17

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

searchterms = list(itertools.product(*lists))
Run Code Online (Sandbox Code Playgroud)

请参阅解压缩参数列表中的Python教程部分.