为什么我在使用ndenumerate对切片的2D数组进行迭代时得到不正确的索引?
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for idx, x in np.ndenumerate(arr[:, ::2]):
print(idx, x)
输出:
(0, 0) 1
(0, 1) 3
(1, 0) 5
(1, 1) 7
我认为它应该给予以下输出:
(0, 0) 1
(0, 2) 3
(1, 0) 5
(1, 2) 7
注意:如果不使用slice,我将获得正确的索引。
1条答案
按热度按时间guykilcj1#
当您这样做时:
您将获得:
因为
arr[:, ::2]
为:当您这样做时:
您将获得:
因为
arr
是