python3中的切片操作

2022-08-29 08:24:13 字數 2054 閱讀 6030

python中的切片非常方便,可以靈活的對list、tuple、string、range進行操作,得到想要的資料;

平時我們在訪問序列中的元素,通過索引可以正向訪問,也可以反向訪問,切片同樣也可以,下面舉例我常用的操作方法:

切片的語法為:

[start_index,end_index,step]

start_index:起始索引位置

end_index:結束索引位置

step:步長

切片的功能:從起始位置到結束位置的前乙個位置,按步長來提取資料並生成新的物件,並且不會改變原資料型別;

舉例1,都寫全:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[2:6:1]

print(result)

結果:[5,6,2,6]

可以看出,按步長1,從索引2開始,到索引6-1結束的所有元素

備註:以上的這些操作也同樣適用於字串或者元組中,對字串進行反向顯示,使用切片可以非常方便的做到;

舉例2,省略步長:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[2:6]

print(result)

結果:[5,6,2,6]

可以看出,步長預設為1,可省略

舉例3,開始索引省略:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[:5]

print(result)

結果:[2,4,5,6,2]

可以看出,按步長1,從第乙個元素開始,到索引5-1結束的所有元素

舉例4,結束索引省略:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[3:]

print(result)

結果:[6,2,6,0,4]

可以看出,按步長1,從索引3元素開始,到最後乙個元素

舉例5,開始、結束索引都省略:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[:]

print(result)

結果:[2,4,5,6,2,6,0,4]

可以看出,相當於從第乙個到最後乙個元素,複製了乙個新的序列

舉例6,步長非1但為正整數:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[2:6:2]

print(result)

結果:[5,2]

可以看出,按步長2,從索引2元素開始,到到索引6-1元素結束的所有元素

舉例7,步長為負整數:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[-2:-7:-3]

print(result)

結果:[0,6]

可以看出,按步長2,從索引-2元素開始,到到索引-7+1元素結束的所有元素

備註:切片時一定要保證步和的方向與開始、結束的方向一致,否則可能會得到乙個空序列

舉例8,開始、結束省略,步長-1,可得到乙個反向的序列:

l = [2,4,5,6,2,6,0,4]  #長度8

result = l[::-1]

print(result)

結果:[4, 0, 6, 2, 6, 5, 4, 2]

可以看出,開始、結束索引都省略,可以得到乙個反向的序列

python3 切片 python3 切片

取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...

python3 切片 七 python3 切片

切片 取乙個 list 或 tuple 的部分元素是非常常見的操作 l michael sarah tracy bob jack 笨辦法 之所以是笨辦法是因為擴充套件一下,取前 n 個元素就沒轍了。l 0 l 1 l 2 michael sarah tracy 取前 n 個元素,也就是索引為 0 n...

python 3 切片練習

coding gbk def qipian a,a 1,a 2,a 3,a 4 map int,input 輸入a,a 1,a 2,a 3,a 4 空格隔開 split a,a 1,a 2,a 3,a 4為int型 b a,a 1,a 2,a 3,a 4 print b c b 0 3 2 取出列表...