Python中,清單(list)是python支援的任意類型的元素的集合,相當于其它程式設計語言中的數組。
建立清單的方法有兩種,一種是使用中括号[]進行建立;
>>> [1,2,'x','y']
[1, 2, 'x', 'y']
另一種是标準的建立方法,使用list()方法進行建立。
>>> a = list()
>>> type(a)
<class 'list'>
>>> a.append(1)
>>> a
[1]
清單的方法有很多:插入、追加、反轉、删除某個元素、計算某個元素的個數等等。
- 在清單指定位置插入元素
>>> a = [1,2,3,4]
>>> a.insert(0,0)
>>> a
[0, 1, 2, 3, 4]
- 在清單末尾追加元素
>>> a.append(5)
>>> a
[0, 1, 2, 3, 4, 5]
- 反轉清單,有兩種方式:使用reverse()函數和切片操作
>>> a.reverse()
>>> a
[5, 4, 3, 2, 1, 0]
>>> b = a[::-1]
>>> b
[0, 1, 2, 3, 4, 5]
- 給出某個元素的索引,在清單a中,元素2的索引值為3
>>> a.index(2)
3
- 統計清單中某個元素的個數
>>> arr = [1,2,1,2,3,1]
>>> arr.count(1)
3
- 删除清單中的某個元素
>>> arr.remove(3) # arr = [1,2,1,2,3,1]
>>> arr
[1, 2, 1, 2, 1]
- 對清單進行排序
>>> arr.sort() # 升序
>>> arr
[1, 1, 1, 2, 2]
>>> arr.sort(reverse=True) #降序
>>> arr
[2, 2, 1, 1, 1]
清單的切片操作,利用python解決問題的過程中,經常會遇到從某個對象中抽取部分值的情況。“切片”操作正是專門用于實作這一目标的有力武器。
一個完整的切片表達式包含兩個“:”,用于分隔三個參數(start_index、end_index、step)。當隻有一個“:”時,預設第三個參數step=1;當一個“:”也沒有時,start_index=end_index,表示切取start_index指定的那個元素。
- step:正負數均可,其絕對值大小決定了切取資料時的‘‘步長”,而正負号決定了“切取方向”,正表示“從左往右”取值,負表示“從右往左”取值。當step省略時,預設為1,即從左往右以步長1取值。
- start_index:表示起始索引(包含該索引對應值);該參數省略時,表示從對象“端點”開始取值,至于是從“起點”還是從“終點”開始,則由step參數的正負決定,step為正從“起點”開始,為負從“終點”開始。
-
end_index:表示終止索引(不包含該索引對應值);該參數省略時,表示一直取到資料“端點”,至于是到“起點”還是到“終點”,同樣由step參數的正負決定,step為正時直到“終點”,為負時直到“起點”。
使用切片對清單進行掐頭去尾操作
>>> arr = [0,1,2,3,4]
>>> arr[1:-1]
[1, 2, 3]
使用切片對清單實作反轉
>>> arr[::-1]
[4, 3, 2, 1, 0]
擷取清單的最後一個元素
>>> arr[-1:] #切片方式
[4]
>>> arr[-1] #索引方式
4
在清單指定位置後插入元素
>>> arr[2:2] = [5,4]
>>> arr
[0, 1, 5, 4, 2, 3, 4]
參考文章:https://www.jianshu.com/p/15715d6f4dad