前言:打CTF的时候去遇到了python中的切片问题,来学习一下
Python可切片对象的索引方式
分为正索引和负索引两种,以list对象为a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:
Python切片操作的一般方式
一个完整的切片表达式包含两个”:”,用于分割三个参数(start_index:end_index:_step)。当只有”:”时,默认第三个参数step = 1;当一个”:”也没有时,start_index = end_index,表示切取start_index指定的那个元素
切片操作基本表达式:object[start_index:end_index:step]
step:正负数均可,其绝对值大小决定切取数据时的”步长”,正负号决定切取方向,正号表示”从左往右”,负表示”从右往左”,step值省略默认为1
start_index:表示起始索引(包含该索引对应的值),该值省略表示对象”端点”开始,step为正时,从起点开始,反之终点开始
end_index:表示终止索引值(不包含该索引对应的值),该值省略表示”端点”结束,step为正时,到终点结束,反之起点结束
Python切片操作详细例子
以list对象a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:
切取单个元素
1 | >>>a[0] |
切取完整对象
1 | >>>a[:]从左往右 |
一层切片的例子
1 | >>>a[1:6] |
多层切片操作
1 | >>>a[:8][2:5][-1:] |