+ -
当前位置:首页 → 问答吧 → 字符串切片

字符串切片

时间:2011-09-13

来源:互联网

在读python cookbook

字符串一节:

>>>mystr = "my string"
>>>mystr[:3:-1]
'gnirt'

为什么?以上切片不是 [0-2],步长-1?
还是针对步长为负数有另外的处理?

>>>mystr[-1:3:-1] #范围 3 -> -1
'gnirt' 
>>> mystr[2::-1] #范围 0 -> 2
' ym'

作者: wklken   发布时间: 2011-09-13

mystr[x:y:z]

第一个参数 x表示开始位置
第二个参数 y表示终止位置
第三个参数 z表示步长

如果 x,y,z是正数表示从左边开始计数
x,y,z为负数表示从右边开始数

作者: CCDDR   发布时间: 2011-09-13

Python code

>>> s = 'my string'
>>> s[0:4]
'my s'
# 第一位不写表示从头开始计数,第二位不写表示到末尾
>>> s[:4] 'my s'
>>> s[3:]
'string'
>>> s[:-4]
'my st'
>>> s[:-4:1]
'my st'
>>> s[:-4:2]
'm t'
# 如果第三位为负数,要从后往前数,第一位不写表示从末尾开始数,第二位不写表示数到头
>>> s[:3:-1]
'gnirt'
>>> s[3::-1]
's ym'

作者: CCDDR   发布时间: 2011-09-13

知道现象和行为,能推导出规律就行了。一般的文档里也只会告诉你这些信息。

作者: iambic   发布时间: 2011-09-13