有没有打捞解释一下这里每一段print都输出了啥呀?

print(arr)
print(a)
print(b1,b2,b3,b4)
print(arr)分别输出了啥?

img

img

索引位置的“,”表示维度的分割符,如果前边如果是空着表示从数组的开头,如果后边空着表示到结尾例如:a【:3】和a【0:】.
而b1=arr[1:6:2]这句表示从下标为1的元素截取到下标为6的元素,其中每两个数取一个数.所以取2 8 10.

>>> import numpy as np
>>> arr = np.array([1,2,6,8,9,10,12])
>>> arr[1:3] = 20,30
>>> print(arr)
[ 1 20 30  8  9 10 12]
>>> arr=np.array([[0,1,2,3,4],[5,6,7,8,9]])
>>> a = arr[1,3]
>>> print(a)
8
>>> b1,b2,b3,b4 = arr[:2,1:3],arr[1:,2:5],arr[:2:2,:3:2],arr[...,1:3]
>>> print(b1,b2,b3,b4)
[[1 2]
 [6 7]] [[7 8 9]] [[0 2]] [[1 2]
 [6 7]]
>>> arr[:2:2,:3:2]=44,55
>>> print(arr)
[[44  1 55  3  4]
 [ 5  6  7  8  9]]