问题描述
我有两个 numpy 数组:alpha=[0,1]
和 beta=[2,3,4]
。
我想组合它们以创建一个新的元组数组,它是前两个数组的所有可能组合的结果。
x= [(0,2)(0,3)(0,4)(1,2)(1,3)(1,4)]
numpy 包中是否有一个函数,或者我需要自己做?如果我必须这样做,哪种方式是最佳方式?
解决方法
您可以使用itertools.product
:
import numpy as np
import itertools
alpha = np.array([0,1])
beta = np.array([2,3,4])
x = list(itertools.product(alpha,beta))
print(x)
# [(0,2),(0,3),4),(1,4)]
,
alpha=[0,1]
beta=[2,4]
d = [(a,b) for a in alpha for b in beta] # The cartesian product
print(d)