LIST(列表)是序列對象,可包含任意的Python資料資訊,如字串、數字、列表、元組等。列表的資料是可變的,我們可通過對象方法對列表中的資料進行增加、修改、刪除等操作。可以通過list(seq)函數把一個序列類型轉換成一個列表。下面舉幾個例子:
- list1 = ["a", "b", "c"] #字元列表
- list2 = [1, 2, 3, 4, 5, 6] #數字列表
- list3 = [1, 2, "One", "Two"] #混合列表
- list4 = [[1, 2, 3], ["a, "b", "c"]] #列表的列表
- list5 = [(1, 2)] #元組列表
- list6 = list("TEST") #將字串“TEST“轉換為字元列表,其效果等同於list["T", "E", "S", "T"]
在Python中,清單類型有自己的標準方法對其進行訪問和操作:
方法 |
描述 |
append(x) |
在列表尾部追加單個對象x。使用多個參數會引起異常。 |
count(x) |
返回對象x在列表中出現的次數。 |
extend(L) |
將列表L中的表項添加到列表中。返回None。 |
Index(x) |
返回列表中匹配對象x的第一個清單項目的索引。無匹配元素時產生異常。 |
insert(i,x) |
在索引為i的元素前插入對象x。如list.insert(0,x)在第一項前插入對象。返回None。 |
pop(x) |
刪除列表中索引為x的表項,並返回該表項的值。若未指定索引,pop返回列表最後一項。 |
remove(x) |
刪除列表中匹配對象x的第一個元素。匹配元素時產生異常。返回None。 |
reverse() |
顛倒列表元素的順序。 |
sort() |
對列表排序,返回none。bisect模組可用於排序清單項目的添加和刪除。 |
如上述標準方法之外,對清單類型還有一些很實用的切片方法,下面舉例說明。
s1 = list("ABCDEFGHIJKLMN")
print s1[0:4] #取索引為0至4的元素,執行結果為 ['A', 'B', 'C', 'D']
print s1[0:8:2] #在索引為0至8的元素中將索引值為偶數的元素取出,執行結果為['A', 'C', 'E', 'G']
print s1[:4] #取索引為0 至4的元素(這句代碼是第一句的簡短寫法),執行結果為['A', 'B', 'C', 'D']
print s1[5:] #取索引大於等於5的所有元素,執行結果為['F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N']
print s1[-3:] #從後往前取三個元素,執行結果為['L', 'M', 'N']
print s1[-3:-1] #從倒數第三個元素開始連續取兩個元素,執行結果為['L', 'M']
PS:列表中第一個元素的索引為0,第二個元素索引為1,以此類推。在Python中所有序列對象都可以執行切片操作,包括字串和字典類型。