1. 程式人生 > >python3中的字串的索引和切片

python3中的字串的索引和切片

  • 索引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