-
索引index
python字符串是不可以改变的序列,所有的序列都可以通过索引来获取其中的数据元素
-
索引语法:
字符串[整数表达式] -
说明
1.序列的正向索引是从0开始的,第二个索引为1,最后一个索引为 len(s)-1
2.序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是 -len(s)
示例:
s = ‘abcde’
>>>s[0] # a
>>>s[1] # b
>>>s[4] # e
>>>s[5] # EndexError 越界错误
>>>s[-1] # e
>>>s[-2] # d
>>>s[-5] # a
-
切片 slice
从字符串序列中取出相应的元素重新组成一个字符串序列 -
语法
s[(开始索引b):(结束索引e)(:(步长s))] -
注 : 小括号()括起来的部分可以省略
(包含开始索引位置,不包含结束索引位置) -
说明:
1.开始索引是切片切下的位置,0代表第一个元素,1代表第二个元素, -1 代表最后一个元素
2. 结束索引是切片的终止索引(但不包含终止点)
3. 步长是切片每次获取完当前元素后移动的方向和偏移量
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'
>>>s[-4:-2] #'bc'
>>>s[-2:] #'de'