numpy数组索引器中的冒号,无,切片(无)

Lee*_*Lee 7 python indexing numpy

至于 a = np.arange(24).reshape(2,3,4)

a[0,:,1]a[0,slice(None),1]输出array([1, 5, 9])

虽然a[0,None,1]给了array([[4, 5, 6, 7]])

可以解释后者吗?

小智 10

使用raw None(不是in slice)与使用相同np.newaxis,但它只是一个别名.

在你的情况下:

  • a[0,None,1]就像一个[0,np.newaxis,1],因此输出
  • 然而slice(None)就像"没有切片",这就是为什么a[0,:,1]一样a[0,slice(None),1].请参阅numpy的索引文档.