理解 numpy 数组切片的问题
Issue with understanding numpy array slicing
对 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
处的值从结果序列中排除。
您可以在 this tutorial 的第 3 段找到更多信息。
The slice extends from the ‘from’ index and ends one item before the ‘to’ index.
对 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
处的值从结果序列中排除。
您可以在 this tutorial 的第 3 段找到更多信息。
The slice extends from the ‘from’ index and ends one item before the ‘to’ index.