Python中对于数组和列表进行切片操作是很频繁的,我主要简单总结一下常用集中索引化方式
一维: [ : n]、[m : ] 、[-1]、[::-1]
[m : ] :代表列表中的第m项到最后一项 (从0开始)
[ : n] :代表列表中的第0项到第n-1项 (含左不含右)
[-1]:取最后一个元素
[::-1]:取从后向前(相反)的元素 (倒序)
1 | import numpy as np |
结果如下:
1 | (8,) |
二维: X[:,0] 、X[:,1] 、 X[:, m:n]
X[:,0]是numpy中数组的一种写法,表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据,直观来说
X[:,0]:取第二维(所有行)的第0个数据,就是第0列
X[:,1] :取第二维(所有行)的第1个数据,就是第1列
X[:, m:n],即取所有数据的第m到n-1列数据,含左不含右
示例如下:
1 | import numpy as np |
结果如下:
1 | (7, 3) |
三维 X[:,:,0]、X[:,:,1]、X[:,:,m:n]
类比于二维,原理相同
X[:,:,0]:取第三维矩阵中第0列的所有数据
X[:,:,1]:取第三维矩阵中第1列的所有数据
X[:,:,m:n]:取第三维矩阵中第m列到第n-1列的所有数据
1 | 注:shape(9,5,2)指的是最外层有9个括号,每个括号里嵌套5个括号,在5个括号里又每个有2个元素 |
1 | # !usr/bin/env python |
部分结如下:
1 | X[:,:,0]结果输出为: |
[start:end:step]
start:开始索引;end:结束索引;step:步长(步长为正时,从左到右索引,正序取值;步长为负时,从右到左索引,倒序取值)
[::2] 步长为2
[3:7:2] 第3个元素开始,第6个元素结束,步长为2
参考
https://blog.csdn.net/Together_CZ/article/details/79593952