切片
l 格式:[start : end : step]
l Start:起始索引,从0开始,-1表示结束
l End:结束索引
l Step:步长
l end-start=正数时,从左向右取值,=负数时反向取值
l 注意:切片结果不包含结束索引,即不包含最后一位,-1代表最后一个位置索引
>>> s=list(range(11))#生成一个列表 >>> s [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> a[1:3]#1.切片用冒号,2.右边为开区间,只能取到1,2 [1, 2] >>> s[0:5]#步长不写默认为1 [0, 1, 2, 3, 4] >>> s[2:]#end值不写默认为取到最后一位 [2, 3, 4, 5, 6, 7, 8, 9, 10] >>> s[2:9:2] #步长为2 [2, 4, 6, 8] 倒取 >>> s[-1:-8:-2] [10, 8, 6, 4] 字符串切片 例:取出roadoo >>> s="gloryroad is good!" >>> s[5:10] 'road ' >>> s[-3:-5:-1] 'oo' >>> result=s[5:10]+s[-3:-5:-1] #字符串拼接用+ >>> result 'road oo' >>> s[5:20] #切片越界也不报错 'road is good!'
Python中符合序列的有序序列都支持切片(slice)
如:列表,字符,元祖(字典除外),示例:
>>> s={'a':1,'b':2,'c':3} >>> s[1:3] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'slice'