python 组合两个列表并获得排列列表[duplicate]

jxct1oxe  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(173)

此问题在此处已有答案

Get the cartesian product of a series of lists?(17个答案)
3小时前关门。
例如,我有以下列表:
'将numpy导入为np
a = np数组([1,2,3])B = np数组([4,5,6])'
我想将它们合并到一个新的列表中,这样就可以得到如下结果:
(1)(1,4)(1,5)(1,6)(2,4)(2,5)(2,6)(3,4)(3,5)(3,6)
`
简而言之,我想得到一个所有可能排列的列表,其中每个元素都是两个数组元素的元组。
有没有一个具体的命令,使这一点?它会是什么最快的方式?
这里显示的例子不是我试图编码的真实的问题,因为真正的问题可能也有更多的数据点。
我认为这可以很容易地用一个循环来解决,但我想知道是否有一个快速的命令在numpy或其他,我可以使用代替,所以使代码更可读和-希望-更快。

jtjikinw

jtjikinw1#

您可以使用productitertools执行此操作

from itertools import product

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

c = list(product(a, b))
print(c)

输出:[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]

相关问题