Tile 3次,最后map到元组,像这样 -
map(tuple,np.tile(a.ravel()[:,None],(1,3)))
如果您正在寻找如在问题的预期输出中列出的3D数组,你可以这样做 -
np.tile(a[:,:,None],(1,1,3))
采样运行 -
In [32]: a
Out[32]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
In [33]: map(tuple,np.tile(a.ravel()[:,None],(1,3)))
Out[33]:
[(1, 1, 1),
(2, 2, 2),
(3, 3, 3),
(4, 4, 4),
(5, 5, 5),
(6, 6, 6),
(7, 7, 7),
(8, 8, 8),
(9, 9, 9)]
In [34]: np.tile(a[:,:,None],(1,1,3))
Out[34]:
array([[[1, 1, 1],
[2, 2, 2],
[3, 3, 3]],
[[4, 4, 4],
[5, 5, 5],
[6, 6, 6]],
[[7, 7, 7],
[8, 8, 8],
[9, 9, 9]]])