使用itertools.product列表中的列表

时间:2016-06-07 10:47:34

标签: python list itertools

我需要计算几个列表元素的笛卡尔积。似乎最好的方法是使用itertools,特别是itertools.product。现在,我想要使用的列表本身包含在列表中,我不能只使用更大的列表来实现itertools.product。我想知道如何提取列表以使它们可以与itertools.product一起使用。

以下是一个显示问题的示例:

import itertools

elements=[[1, 2], [3, 4]]
product=itertools.product(elements)
print product

打印[([1,2],),([3,4],]]。我想要的是与以下相同的东西,但我不必提供"元素的所有元素"奇:

product=itertools.product(elements[0], elements[1])
print product

打印[(1,3),(1,4),(2,3),(2,4)]。

感谢。

1 个答案:

答案 0 :(得分:3)

Unpack列表中的列表与明星运营商*将产品应用于您的子列表。

product=list(itertools.product(*elements))