了解Numpy阵列切片的问题



切成numpy数组时,它看起来不一致。

In[87]: y
Out[87]: 
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
In[88]: y[0,0]
Out[88]: 1

y[0,0]1。没关系,但是当我键入

In[89]: y[0,0:1]
Out[89]: array([1])

为什么切片[0,0:1]单个值数组[1]?我相当期待 array[1,4]当我键入

时会发生
In[90]: y[0,0:2]
Out[90]: array([1,4])

我宁愿期望 array[1,4,7]的地方,因为 y[0,2]7

顺便说一句,如果很重要,我正在使用anaconda 2019发行版。

In[91]: import sys
   ...: print(sys.version)
3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)]

有人知道切片索引看起来如此混乱吗?谢谢

numpy使用与python相同的切片符号,即 [start:stop:step]

作为一个约定,索引stop处的值不包括在结果序列中。

您可以在本教程的第3段中找到更多信息。

切片从"从"索引延伸,并在"到"索引之前结束一个项目。

最新更新