是否有可能在numpy中使用高级列表切片并仍然可以获得视图?

时间:2010-08-25 02:09:05

标签: python numpy

换句话说,我想做一些像

这样的事情
A[[-1, 0, 1], [2, 3, 4]] += np.ones((3, 3))

而不是

A[-1:3, 2:5] += np.ones((1, 3))
A[0:2, 2:5] += np.ones((2, 3))

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您可以执行以下操作:

A[[[-1],[0],[1]],[2,3,4]] += np.ones((3, 3))

然而,numpy的人做了一个函数,ix_,使它更容易一点:

A[np.ix_([-1,0,1],[2,3,4])] += np.ones((3, 3))

我希望有所帮助。