要增加答案的多样性,您可以查看以下边角项目的视图(而非副本):
corners = a[::a.shape[0]-1, ::a.shape[1]-1]
或者,对于通用n维数组:
corners = a[tuple(slice(None, None, j-1) for j in a.shape)]
>>> a = np.arange(9).reshape(3, 3)
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> corners = a[tuple(slice(None, None, j-1) for j in a.shape)]
>>> corners
array([[0, 2],
[6, 8]])
>>> corners += 1
>>> a
array([[1, 1, 3],
[3, 4, 5],
[7, 7, 9]])
啊,您想要一个角值的平面列表…通常无法通过视图实现,因此@IanH的答案就是您想要的。