【发布时间】:2020-12-23 22:06:30
【问题描述】:
我正在做itertools.product 的替代练习,我的方法是使用np.broadcast:
import numpy as np
x = np.array([4,3,1])
y = np.array([2,4,0])
z = np.array([0,1,2])
ix = np.broadcast(x[:,None,None], y[None,:,None], z[None, None, :])
print(*ix)
这次它工作正常,但如果我愿意,如何以自动方式创建所有这些“眼睛排列”的新轴,比如像这样的 7 个维度:
[:,None,None,None,None,None,None]
[None,:,None,None,None,None,None]
[None,None,:,None,None,None,None]
[None,None,None,:,None,None,None]
[None,None,None,None,:,None,None]
[None,None,None,None,None,:,None]
[None,None,None,None,None,None,:]
我希望像np.ix_ 这样的东西允许在分配这些切片时使用所有这些Nones 和:s。
【问题讨论】:
标签: python numpy slice numpy-slicing