首页 > 解决方案 > numpy 索引的差异

问题描述

为什么这个索引会导致不同的数组?

import numpy as np

x = np.array(range(0,2*3*4)).reshape(2,3,4)

print(x[0,:,[2,3]])
print(x[0,:,2:])

第一个输出是

[[ 2  6 10]
 [ 3  7 11]]

第二个是

[[ 2  3]
 [ 6  7]
 [10 11]]

在第二种情况下,2:表示从第二个值直到结束,该暗淡的最后一列是第 3 列,这意味着它采用第二和第三维,因此与 [2,3] 相同,所以索引数组的两种方式有什么区别?

标签: pythonpython-3.xnumpy

解决方案


使用整数数组(或列表)进行索引和切片的规则是不同的。这在文档中进行了深入解释,特别是在混合高级和基本索引的部分中。


推荐阅读