【发布时间】:2016-10-07 05:32:42
【问题描述】:
我需要计算几个列表元素的笛卡尔积。似乎最好的方法是使用 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)]。
谢谢。
【问题讨论】:
-
只要使用
itertools.product(*elements) -
太好了,谢谢。我没有想到“解包”这个词