仅简单记录一下学习过程中浏览过的资料,方便回顾查看。
1、多维数组切片
(1)首先要明白list类型的数据切片,list数据的正下标是从最左侧0开始的,从左向右依次递增,负下标是从最右侧-1开始的,从右向左依次递减。
假设object为一个list对象,则切片的基本表达形式如下:object[start_index:end_index:step]
,其中start_index为索引的起始位置,end_index为索引的终止位置,step为前进的步长,默认为1。
需要特别注意的是,这里的索引区间是左闭右开的,即实际取出来的值的下标是[start_index, end_index)。
详细介绍及实例参考网址
(2)以上是对list(一维数组)的切片,针对多维数组(以numpy.array为例),其中的切片操作与上面的操作基本一样,同样是由start_index,end_index,step三个参数组成,区别之处在于多维数组需要将不同维度上的切片操作用逗号分隔开!
比如对于一个3x4的二维数组array,切片操作array[1:2, 1:3],逗号前的1:2是对行进行切片,表示取行下标为[1,2)的数据,即第2行的数据,逗号后的1:3是对列进行切片,表示在第2行的数据中取出下标为[1,3)的数据,即第2行中的第2列和第3列数据。
详细实例参考链接1、详细实例参考链接2
总结来说,切片时每一维都是[start:end:step]。多维数组切片就用逗号隔开,[start1:end1:step1,start2:end2:step2]表示对二维数组切片。