从两个不同的数组创建一个 python 的数组,其中包含所有可能的组合,并从每个数组中进行固定选择

Create an array in python from two different arrays with all possible combinations with having fixed selection from each array

我正在尝试从每个数组中获取固定选择的两个数组的组合。

数组:

X = ['A','B','C','D','E']
Y = ['1','2','3','4']

我的选择条件是 Sx = 3 和 Sy = 2(输出应该有 3 个来自 X 的元素和 2 个来自 Y 的固定元素)

所有可能的组合的输出应该与此类似

XY = [('A','B','C','1','2'),('B','C','D','2','3'),....)]

我该怎么做?

使用 itertools

combos1 = itertools.combinations(X,r=Sx)
combos2 = itertools.combinations(Y,r=Sy)
prod1 = [a+b for a,b in itertools.product(combos1,combos2)]

这在计算上很昂贵...对于大字母可能需要一段时间