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指定的那个元素
start_index:表示起始索引(包含该索引对应值);该参数省略时,表示从对象“端点”开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始
end_index:表示终止索引(不包含该索引对应值);该参数省略时,表示一直取到数据“端点”,至于是到“起点”还是到“终点”,同样由step参数的正负决定,step为正时直到“终点”,为负时直到“起点”
三、 Python切片操作详细例子
1. 切取单个元素
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b=a[1]
c=a[-2]
print(b,c)
结果:1 8
2. 切取完整对象
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=a[:] #从左往右 c=a[::] #从左往右 d=a[::-1] #从右往左 print(b) print(c) print(d)
3.其它例子
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=a[1:6] #注意:顾前不顾后 print(b)
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=a[:6:-1] #step=-1,从右往左取值,而start_index省略时,表示从端点开始,因此这里的端点是“终点”,即从“终点”值9开始一直取到end_index=6(该点不包括) print(b)
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=a[6::-1] #step=-1,从右往左取值,从start_index=6开始,一直取到“起点”0 print(b)
4.其他对象的切片操作
a = 'ABCDEFG' b=a[::2] #字符串切片 print(b)
资料:https://www.jianshu.com/p/15715d6f4dad