List,翻譯成中文就是列表的意思。
什麼是列表?
正式點的解釋:List是一種有序集合。通俗點:許多值(變量)按照一定順序放到一個籃子裡,這個籃子就是 []。即列表用中括號 []表示,[] 中放的每個值用逗號(英文逗號)隔開。
注意:寫代碼時請將輸入法調為英文半角狀態
舉例:家裡所有人的稱呼,構成一個列表
family = ['father', 'mother', 'son', 'daughter']print(family) # family 就是一個列表# IDLE中運行後輸出 ['father', 'mother', 'son', 'daughter']列表作為一個集合,是有長度的,同字符串,我們可以使用 len() 這個函數來獲取列表長度。
family = ['father', 'mother', 'son', 'daughter'] # 定義列表printlen(family)# IDLE中運行後輸出 4列表的基本操作
讀取列表中的值
與字符串類似,列表可通過下標(索引)和切片的方式讀取其值。
loveList = [520, 1314, 'my love', 'my queen']print(loveList[3]) # 讀取loveList的第4個值# my queen# 切片print(loveList[1:]) # 讀取loveList第二個值到最後一個值# [1314, 'my love', 'my queen']修改列表
利用下標的方式讀取並更改值。上一節講過,字符串是無法修改的。
numList = [2, 4, 6, 8, 10, 12, 14, 16, 18]numList[2] = 100# 將numList的第三個值6修改為100print(numList)# [2, 4, 100, 8, 10, 12, 14, 16, 18]刪除列表中的元素
這裡使用 del 語句進行刪除。
numList = [2, 4, 6, 8, 10, 12, 14, 16, 18]del numList[4] # 刪除numList的第五個值10print(numList)# [2, 4, 6, 8, 12, 14, 16, 18]對數值型列表進行排序
所謂數值型,即列表中的值全部為數字(整數or實數)。我們使用 sorted() 來進行排序,該函數不改變原列表的值。
numList1 = [95, 2, 45, 17, 9, 168, 11]print(sorted(numList1))# [2, 9, 11, 17, 45, 95, 168]print(numList1)# [95, 2, 45, 17, 9, 168, 11]對數值型列表求和
利用 sum() 函數進行。該函數不改變原列表的值。
moneyList = [4000, 3500, 5500, 8000, 12000, 30000]print(sum(moneyList))# 63000+、*、成員運算符
+:將兩個或多個列表組合起來。[1, 3, 5] + [2, 4, 6],得到[1, 2, 3, 4, 5, 6]*:重複列表。[1, 2, 3] * 3,得到[1, 2, 3, 1, 2, 3, 1, 2, 3]in 與 not in:判斷值是否在列表中。2 in [1, 2, 3, 4],返回True。注意:+是將兩個列表組合,即兩個列表中的值按照一定順序全部放在一個新的列表中。
列表嵌套
即多個列表放到一個列表中。
a = [1, 5, 99]b = [3.14, '你好']n = [a, b] # 此時n可以看作一個二維數組,由此類推還有三維、四維print(n)# [[1, 5, 99], [3.14, '你好']]print(n[0]) # 獲取列表n的第一個值[1, 5, 99]# [1, 5, 99]print(n[0][1]) #獲取列表n的第一個值[1, 5, 99]中的第二個值# 5專屬列表的函數
append(obj):在列表尾部添加新的對象obj(新添加一個值)。count(obj):計算對象obj在列表中出現的次數。pop(index=-1):讀取並刪除index(下標索引)位置的值,默認為最後一個值。reverse():獲得反向列表。extend(seq):把序列seq的內容添加到列表中。index(obj):從列表中找出某個值第一個匹配項的索引位置。insert(index, obj):將對象插入到指定下標索引(index)位置。remove(obj):將對象obj從列表中刪除。list.clear():清空列表。list.copy():複製列表。list.sort(func=None,key=None,reserve=False):以指定方式排序列表中的成員。func — 可選參數, 如果指定了該參數會使用該參數的方法進行排序。key — 主要是指定用來進行比較的元素,可不指定,不指定則按默認。reverse — 排序規則,reverse = True 降序, reverse = False 升序(默認)。list = [2, 6, 8, 19, 14, 6, 18, 2, 6]list.append(22)print(list)# [2, 6, 8, 19, 14, 6, 18, 2, 6, 22]print(list.count(6))# 3list.pop(2) # 刪除下標為2的元素(值)print(list)# [2, 6, 19, 14, 6, 18, 2, 6, 22]list.insert(2, 8) # 在下標為2的位置插入8print(list)# [2, 6, 8, 19, 14, 6, 18, 2, 6, 22]list.sort() # 按默認進行排序print(list)# [2, 2, 6, 6, 6, 8, 14, 18, 19, 22]練一練
將上面的代碼依次複製保存到幾個文件中,在IDLE中運行看看結果吧。