所謂「下標」
,就是編號,就比如超市中的存儲櫃的編號,經過這個編號就能找到相應的存儲空間python
生活中的 "下標"面試
超市儲物櫃數組
高鐵二等座spa
高鐵一等座code
綠皮車對象
字符串中"下標"的使用blog
列表與元組支持下標索引好理解,字符串實際上就是字符的數組,因此也支持下標索引。索引
若是有字符串:name = 'abcdef'
,在內存中的實際存儲以下:內存
若是想取出部分字符,那麼能夠經過下標
的方法,(注意python中下標從 0 開始)字符串
name = 'abcdef' print(name[0]) print(name[1]) print(name[2])
運行結果:
a
b
c
切片是指對操做的對象截取其中一部分的操做。字符串、列表、元組都支持切片操做。
注意:選取的區間從"起始"位開始,到"結束"位的前一位結束(不包含結束位自己),步長表示選取間隔。
咱們以字符串爲例講解。
若是取出一部分,則能夠在中括號[]中,使用:
name = 'abcdef' print(name[0:3]) # 取 下標0~2 的字符
運行結果:
name = 'abcdef' print(name[0:5]) # 取 下標爲0~4 的字符
運行結果:
name = 'abcdef' print(name[3:5]) # 取 下標爲三、4 的字符
運行結果:
name = 'abcdef' print(name[2:]) # 取 下標爲2開始到最後的字符
運行結果:
name = 'abcdef' print(name[1:-1]) # 取 下標爲1開始 到 最後第2個 之間的字符
運行結果:
>>> a = "abcdef" >>> a[:3] 'abc' >>> a[::2] 'ace' >>> a[5:1:2] '' >>> a[1:5:2] 'bd' >>> a[::-2] 'fdb' >>> a[5:1:-2] 'fd'
(面試題)給定一個字符串aStr, 請反轉字符串
# 索引是經過下標取某一個元素 # 切片是經過下標去某一段元素 s = 'Hello World!' print(s[4]) print(s) print(s[:]) # 取出全部元素(沒有起始位和結束位之分),默認步長爲1 print(s[1:]) # 從下標爲1開始,取出 後面全部的元素(沒有結束位) print(s[:5]) # 從起始位置開始,取到 下標爲5的前一個元素(不包括結束位自己) print(s[:-1]) # 從起始位置開始,取到 倒數第一個元素(不包括結束位自己) print(s[-4:-1]) # 從倒數第4個元素開始,取到 倒數第1個元素(不包括結束位自己) print(s[1:5:2]) # 從下標爲1開始,取到下標爲5的前一個元素,步長爲2(不包括結束位自己) # python 字符串快速逆置 print(s[::-1]) # 從後向前,按步長爲1進行取值