python数组切片范围为[:,:]

python数组切片范围为[:,:],python,numpy,Python,Numpy,我正在测试一个阵列切片,有一个问题 我想打印(1,1)~(3,3)值,但是python打印(1,1)~(2,2)为什么 import numpy as np a = np.reshape(np.arange(25), (5,5)) print(a[1:3, 1:3]) 因为在你的例子中3是排他的。使用4代替: print(a[1:4, 1:4]) 当使用Python的start:stop:step切片表示法时,start是包含的,而stop不是。因为在您的示例中,3是独占的。使用4代替: p

我正在测试一个阵列切片,有一个问题

我想打印
(1,1)~(3,3)
值,但是python打印
(1,1)~(2,2)
为什么

import numpy as np
a = np.reshape(np.arange(25), (5,5))
print(a[1:3, 1:3])

因为在你的例子中3是排他的。使用4代替:

print(a[1:4, 1:4])

当使用Python的start:stop:step切片表示法时,start是包含的,而stop不是。

因为在您的示例中,3是独占的。使用4代替:

print(a[1:4, 1:4])

当使用Python的start:stop:step切片表示法时,start是包含的,而stop不是。

这是Python的惯例,左端包含,右端排除。优点:左边和右边的差异给出了长度。这是Python的惯例,左边的一端包括在内,右边的一端不包括在内。优点:左边和右边的差异给出了长度。