Python中的slice操作

2021-08-21 21:20:43 字數 661 閱讀 8564

python中slice操作的完整語法:

#

i預設是0

#j預設是len(s)

#k的步長,預設為+1

s[i:j:k]

其中i,j,k都可以是負數:

若i < 0或者k<0,等價於len(s) + i,或者len(s) + j;

若k < 0,則表示將[i,k)之間的字元按照步長k,從右往左數,而不是從左往右數

>>>s = '

abcdefg

'>>>s[-3:-1]'ef

'>>>s[-1:-3:-1] #

將位於s[-1:-3]的字元子串,按照步長1,從右往左數,而不是從左往右數'gf

'>>>s[4:2:-1]'ed

'>>>s[2:4:-1] #

輸出空字串

''>>>s[::-1] #逆序'

gfedcba

'

需要指出的是s[i:j:k]的形式,等價於下面的形式:

>>>s = '

abcdefg

'>>>s[slice(none, none, -1)] #

等價於使用slice物件進行陣列元素的訪問操作

'gfedcba

'

python 中的內建函式slice

slice 函式是乙個切片函式,可以作用於list,tuple,numpy等結構,其作用類似於列表中常見的切片操作,但是如果按照某個長度將list等可以用於切片的序列做等分,一般可以用乙個迴圈可以實現。l 1,2,3,4,5,6,7,8,9,10 i 0 while i 10 print l i i...

python的切片(Slice)操作符

l michael sarah tracy bob jack l 0 3 從索引0開始擷取,擷取到第三個元素,即索引為2的元素 michael sarah tracy l 3 前面的0可以省略 michael sarah tracy 支援倒序擷取 從倒數第乙個擷取到倒數第二個,不包括索引為 1的元素...

理解Go中的slice

最近閒來無事,深入研究了slice在golang中的實現並簡要閱讀了其相關的底層實現 後,對於實際工作中的一些slice相關 的寫法與bug有了一種豁然開朗的感覺。故記錄下來,與君分享。陣列 vs 切片 對於初學者來說,我們必須分清楚陣列與切片的區別。在go中,陣列與其他語言並無太大區別,都是一段指...