- 索引index
python字符串是不可以改变的序列,所有的序列都可以通过索引来获取其中的数据元素
- 索引语法:
字符串[整数表达式]
- 说明
1.序列的正向索引是从0开始的,第二个索引为1,最后一个索引为 len(s)-1
2.序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是 -len(s)
示例:
s = 'abcde'
>>>s[0]
>>>s[1]
>>>s[4]
>>>s[5]
>>>s[-1]
>>>s[-2]
>>>s[-5]
- 切片 slice
从字符串序列中取出相应的元素重新组成一个字符串序列
- 语法
s[(开始索引b):(结束索引e)(:(步长s))]
- 注: 小括号()括起来的部分可以省略
(包含开始索引位置,不包含结束索引位置)
- 说明:
- 开始索引是切片切下的位置,0代表第一个元素,1代表第二个元素, -1 代表最后一个元素
- 结束索引是切片的终止索引(但不包含终止点)
- 步长是切片每次获取完当前元素后移动的方向和偏移量
3.1 没有步长,相当于步长为1,(默认为1)
3.2 当步长为正整数时,取正向切片,开始索引默认为0,结束索引为最后一个元素的下一个位置
3.3 当步长为负数时,取反向切片, 反向切片时,默认的其实位置为最后一个元素,终止位置为第一个元素的前一个位置
示例:
s = 'abcde'
>>>s[0:4] # 'abcd' 1代表起始索引,4代表到此位置不取,直接结束
>>>s[:4] # 'abcd'
>>>s[2:5] # 'cde' 切片索引可以越界
>>>s[2:] # 'cde'
>>>s[0:] # 'abcde'
>>>s[:] # 'abcde'
>>>s[1:1] # ''
>>>s[4:1] # ''
>>>s[1:5] # 'bcde'
>>>s[1:5:1] # 'bcde'
>>>s[1:5:2] # 'bd'
>>>s[::2] # 'ace'
>>>s[4:0:-1] # 'edcb' 反向切片包含起始,不包含末尾
>>>s[::-1] # 'edcba'
>>>s[-1::-1] # 'edcba'
>>>s[4::-2] # 'eca