在很多程式語言中,針對字串提供了擷取函程式設計客棧數,其實目的就是對字串程式設計客棧切片。python沒有針對字串的擷取函式,只需要切片操作就可以完成。
切片操作符是序列名後跟乙個方括號,方括號中有3個可選的數字,並用冒號分割,數是可選的,而冒號是必須的。
切片操作符中的第乙個數表示切片開始的位置,第二個數表示切片到**結束,第三個數表示切片步長。
如果不指定第乙個數,python就從序列首開始。如果沒有指定第二個數,則python會停止在序列尾。如果沒有指定第三個數,則步長預設為1。
注意,返回的序列從開始位置開始 ,剛好在 結束 位置之前結束。即開始位置是包含在序列切片中的,而結束位置被排斥在切片外,構成了乙個前閉後開區間 [ )
例如:1》正向切片(步長是正整數)
>>> s='love python!'
>>> s[2:9:2] #切片區間 [2,9),步長是2
'v yh'
>>> s[:5] #切片區間 [0,5),步長預設是1
'love '
>>> s[4:] #切片區間 [4,len(s))程式設計客棧,步長預設是1
' python!'
>>> s[:] #切片區間 [0,len(s)),步長是1,返回整個序列的拷貝
'love python!'
>>> s[::2] #切片區間是 [0,len(s)),步長是2
'lv yhn'
python序列倒數第乙個元素的索引是-1,python同樣支援負數索引切片。如:
>>> s
'love python!'
>>> s[-5:-2] #切片區間 [-5,-2),步長預設是1
'tho'
>>> s[:-1] #除了最後乙個元素,其他的元素全部返回
'love python'
>>> s[-8::2] #切片區間 [-8,-1],步長是2
' yhn'
2》反向切片(步長是負數),如:
>>> s
'love python!'
>>> s[9:2:-1]
'ohtyp e'
>>> s[-1::-1] #返回序列的逆序序列
'!nohtyp evol'
>>> s[::-1] #返回序列的逆序序列
'!nohtyp evol'
另外,切片除了可以作用於字串,也可以作用於元組和列表。
python 切片操作
在說切片之前,我們不得不先說一下什麼是序列。序列 python中的一種資料結構,這種資料結構根據索引來獲取序列中的物件。在以後比較常見的資料結構中,列表 字典 字串都是序列。形式 slice start index end index step 一般情況下,步長是不寫的用預設值1,形式 slice ...
python切片操作
切片操作 切片是pytho序列及其重要的操作,適用於列表,元組,字串等,切片格式如下 切片slice操作可以讓我們快速提取子列表或修改,標準格式為 其實偏移量start 終止偏移量 end 步長 step 注意 當步長省略受順便可以省略第二個冒號 典型操作 三個量為正數的情況 如下 a 10,20,...
python切片操作
a b c 其中a是startindex,b是endindex,c是步長,負責控制方向,c正值為從左到右,startindex應該在endindex左邊,否則返回空字串或空列表,空元組.c為負值方向從右到左,a仍然是startindex,應該在endindex的右邊,否則返回空字串或空列表,空元組....