Python的切片操作
阿新 • • 發佈:2018-11-17
當我們需要獲取列表或者元組的部分元素時,我們可能會用到切片特性。
對於一個列表:
l=[0,1,2,3,4,5,6,7,8,9]
如果我們要取前兩個元素,我們通常會使用:
>>>l[0],l[1]
但是當元素特別多,我們需要取連續n個元素時,這個方法就很不方便了。
當然,也有人想到使用迴圈的方式:
l_tmp=[]
n=100
for i in range(50,150):
l_tmp.append(l[i])
這種操作函式略顯麻煩,不過幸運的時,python為我們提供了切片的方法來實現此等問題。
我們通過一個小例子來講解切片的使用方法。
# -*- coding:utf-8 -*- #列表 l=[0,1,2,3,4,5,6,7,8,9] #元組 t=(0,1,2,3,4,5,6,7,8,9) #字串 s='abcdefghijk' #表示從索引0開始,到索引5為止,且不包括索引5 print(l[0:5]) #輸出[0,1,2,3,4] #若從索引0開始,則0可以省略 print(l[:5]) #輸出[0,1,2,3,4] #可以從任意的索引開始 print(l[4:7]) #輸出[4,5,6] #也可支援負數,表示倒數第三個索引至最後 print(l[-3:]) #輸出[7,8,9] #表示倒數第三個索引至倒數第一個索引 print(l[-3:-1]) #輸出[7,8] #還可支援一個步長,表示索引2到索引8中,每隔2取一個值 print(l[2:8:2]) #輸出[2,4,6] #索引省略表示所有值每兩個取一個值 print(l[::2]) #輸出[0,2,4,6,8] #都省略表示原樣複製一個list print(l[:]) #輸出[0,1,2,3,4,5,6,7,8,9] #元組也支援切片,返回另一個元組 print(t[:5]) #輸出(0,1,2,3,4) #字串也支援切片,結果為一個字串 print(s[1::2]) #輸出'bdfhj'