![](/img/trans.png)
[英]python: how can I achieve a cartesian product of all the lists in a list?
[英]How can I find the Cartesian Product of a list of vectors?
我遇到了一个问题,目前无法解决问题。 基本上,我的数据格式化如下:
(1, 2, 3)
为例,在此示例中,维数为3。 n
次 因此,在此示例中[(1, 2, 3), (1, 2, 3)]
如果n = 2
则具有[(1, 2, 3), (1, 2, 3)]
。 我现在想要的是向量的新列表,其中列表中向量内的每个元素都与其他元素组合在一起。 在此示例中,我的预期输出将是:
[(1,1), (1,2), (1,3), (2,1), (2,2), (2,3), (3,1), (3,2), (3,3)]
现在,对于像这样的小列表,可以使用简单的循环来完成,但是我的问题是: 我如何编写一个函数,该函数可以为列表中的x
维和y
个数的这些向量提供所有这些组合?
您似乎需要itertools.product
:
a = [(1,2,3), (1,2,3)]
list(product(*a))
#[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.