3.4 下標和切片

下標和切片

1. 下標索引

所謂「下標」,就是編號,就比如超市中的存儲櫃的編號,經過這個編號就能找到相應的存儲空間python

生活中的 "下標"面試

超市儲物櫃數組

高鐵二等座spa

高鐵一等座code

綠皮車對象

字符串中"下標"的使用blog

列表與元組支持下標索引好理解,字符串實際上就是字符的數組,因此也支持下標索引。索引

若是有字符串:name = 'abcdef',在內存中的實際存儲以下:內存

若是想取出部分字符,那麼能夠經過下標的方法,(注意python中下標從 0 開始)字符串

   name = 'abcdef'

   print(name[0])
   print(name[1])
   print(name[2])

運行結果:

a
b
c

2. 切片

切片是指對操做的對象截取其中一部分的操做。字符串、列表、元組都支持切片操做。

切片的語法:[起始:結束:步長]

注意:選取的區間從"起始"位開始,到"結束"位的前一位結束(不包含結束位自己),步長表示選取間隔。

咱們以字符串爲例講解。

若是取出一部分,則能夠在中括號[]中,使用:

     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進行取值
相關文章
相關標籤/搜索