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  

原文地址:https://www.cnblogs.com/liming19680104/p/13206100.html