Smart猫小萌
使用 numpy 广播并可扩展到任意数量的数组:r1,c1 = A.shaper2,c2 = B.shapearrOut = np.zeros((r1,r2,c1+c2), dtype=A.dtype)arrOut[:,:,:c1] = A[:,None,:]arrOut[:,:,c1:] = BarrOut.reshape(-1,c1+c2)输出:[[1 4 2 3] [1 4 1 3] [3 5 2 3] [3 5 1 3] [1 2 2 3] [1 2 1 3]]对于 3 数组的情况(这里我使用了 (A,B,A)):r1,c1 = A.shaper2,c2 = B.shaper3,c3 = A.shape arrOut = np.zeros((r1,r2,r3,c1+c2+c3), dtype=A.dtype)arrOut[:,:,:,:c1] = A[:,None,None,:]arrOut[:,:,:,c1:c1+c2] = B[:,None,:]arrOut[:,:,:,c1+c2:] = AarrOut.reshape(-1,c1+c2+c3)输出:[[1 4 2 3 1 4] [1 4 2 3 3 5] [1 4 2 3 1 2] [1 4 1 3 1 4] [1 4 1 3 3 5] [1 4 1 3 1 2] [3 5 2 3 1 4] [3 5 2 3 3 5] [3 5 2 3 1 2] [3 5 1 3 1 4] [3 5 1 3 3 5] [3 5 1 3 1 2] [1 2 2 3 1 4] [1 2 2 3 3 5] [1 2 2 3 1 2] [1 2 1 3 1 4] [1 2 1 3 3 5] [1 2 1 3 1 2]]您甚至可以为 N 数组情况创建一个 for 循环。