串列是由一群資料排在一起形成的,其定義與使用方式非常簡單。定義時必須使用中括號,並在內容之間以逗點隔開;存取元素時則是依照順序,由 0 開始數,或者由 -1 開始倒數,並且也是使用方括號存取。範例如下:
a = [9, 4, 8, 7] print(a[0]) print(a[1]) print(a[2]) print(a[3]) print(a[-1]) print(a[-2]) print(a[-3]) print(a[-4])存取元素時,如果使用小數當作索引,或者索引值超出範圍時,會產生錯誤。範例如下:
a = [9, 4, 8, 7] print(a[3.14]) print(a[4]) print(a[-5])透過「:」這個運算,也可以一次存取多個元素,如下:
a = [12, 34, 56, 78, 90, 123, 456, 789, 1234, 5678, 12345] print(a[3:]) # 從 a[3] 開始取到結束 print(a[:6]) # 從頭開始取到 a[6-1] print(a[4:7]) # a[4] 開始取到 a[7-1],或者說 a[4] 開始取 7-4 個 print(a[3:8:2]) # a[3] 開始取到 a[8-1],每 2 個取 1 個透過「:」存取多個元素時,如果遇到索引值超出範圍,則會視為從某個位置開始或結束,有看到元素則取出,因此可能會是空串列或整個串列,如下:
a = [12, 34, 56, 78, 90, 123, 456, 789, 1234, 5678] print(a[100:]) # 這行會拿到空串列 print(a[:100]) # 這行會拿到整個串列 print(a[-100:]) # 這行會拿到整個串列判斷 list 當中是否含有特定元素可以使用「in」,取得長度可以使用「len」;此外,如果 list 當中都是數字,還可以進行一些基本統計:
a = [12, 34, 56, 78, 90, 123, 456, 789, 1234, 5678, 12345] print(123 in a) print(5566 not in a) print(len(a)) # 如果內容都是數字,可以使用以下的計算 print(min(a)) print(max(a)) print(sum(a))修改一或多個元素的方法如下:
a = [12, 34, 56, 78, 90, 123, 456, 789, 1234, 5678, 12345] a[0] = 'hello' print(a) a[5:8] = ['world'] * (8-5) # ['world'] 這個 list 重複 (8-5) 次 print(a) a[1:4] = '!!!' print(a)其中可以看到,在 Python 當中,串列是可以把不同類型的資料放在一起的。
新增與刪除元素的方法如下:
a = [12, 34, 56, 78, 90, 123, 456, 789, 1234, 5678, 12345] a.append('A') # 加入一個元素到尾端 print(a) a.extend(['B']) # 把另一個 list 從尾端接上去 print(a) a = a + ['C'] # 也可以用加法運算來結合兩個 list print(a) a = ['D'] + a print(a) a.insert(3, 'C') # 在指定的位置插入元素 print(a) x = a.pop() # 刪除最後一個元素,並回傳被刪除的元素 print(x, a) x = a.pop(3) # 刪除指定位置的元素,並回傳被刪除的元素 print(x, a) del a[3] # 刪除指定位置的元素,不回傳 print(a) del a[3:5] # 刪除指定位置的多個元素,不回傳 print(a)串列的反轉:
a = [12, 34, 12345, 56, 78, 90, 123, 1234, 5678, 456, 789] a.reverse() # 反轉 print(a) b = a[::-1] # 也可以反轉,不過不是修改原本的串列,而是產生一個新的 print(b)