【问题标题】:Use lists inside a list with itertools.product [duplicate]在带有 itertools.product 的列表中使用列表 [重复]
【发布时间】: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)]。

谢谢。

【问题讨论】:

标签: python list itertools


【解决方案1】:

Unpack 使用星号运算符* 将产品应用于您的子列表。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-23
    • 2020-05-26
    • 2023-01-21
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    相关资源
    最近更新 更多