python基础--切片

切片

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'

 

上一篇:The Settlers of Catan (dfs)


下一篇:题解 P2680 【运输计划】