最近用到较多numpy库的矩阵,就需要用到切片操作,做一个常见总结
一维切片
a=[1,2,3,4,5,6,7]
[ start : stop : step ]
start: 开始下标(正向:0,1,2,3…//负向:-1,-2,-3)默认0
stop:结束下标的后一位,默认结尾
step: 切片步长,有正负之分,默认1
例子:
>>>a=[1,2,3,4,5,6,7,8]
>>>print(a[:3])
>[1,2,3]
>>>print(a[3:])
>[4,5,6,7,8]
>>>print(a[-1])
>[8]
>>>print(a[::-1])
>[8,7,6,5,4,3,2,1]
多维切片
各维度切片就用","隔开即可,每一维度和一维相同
例子(二维矩阵)
>>>import numpy as np
a=np.array([[1,2,3],
[4,5,6],
[7,8,9]])
print(a[0,:])#第一行
>[1 2 3]
>>>print(a[:,0])#第一列
>[1 4 7]
>>>print(a[0:2,:])#第一二行
>[[1 2 3]
[4 5 6]]
>>>print(a[:,-1])#最后一列
>[3 6 9]