⼀. 清單的應⽤場景
思考:有⼀個⼈的姓名(TOM)怎麼書寫存儲程式?
答:變量。
思考:如果⼀個班級100位學⽣,每個⼈的姓名都要存儲,應該如何書寫程式?聲明100個變量嗎?
答:清單即可, 清單⼀次性可以存儲多個資料。
⼆. 清單的格式
[資料1, 資料2, 資料3, 資料4......]
三. 清單的常⽤操作
清單的作⽤是⼀次性存儲多個資料,程式員可以對這些資料進⾏的操作有:增、删、改、查。
3.1 查找
3.1.1 下标
name_list = ['wushen', 'xiaoyuan', 'cheng']
print(name_list[0]) # wushen
print(name_list[1]) # xiaoyuan
print(name_list[2]) # cheng
具體示例如下:

3.1.2 函數
•index():傳回指定資料所在位置的下标 。
1. 文法
清單序列.index(資料, 開始位置下标, 結束位置下标)
2. 快速體驗
name_list = ['wushen', 'xiaoyuan', 'cheng']
print(name_list.index('wushen', 0, 2)) # 1
注意:如果查找的資料不存在則報錯。
•count():統計指定資料在目前清單中出現的次數。
name_list = ['wushen', 'xiaoyuan', 'cheng']
print(name_list.count('Lily')) # 1
•len():通路清單⻓度,即清單中資料的個數。
name_list = ['wushen', 'xiaoyuan', 'cheng']
print(len(name_list)) # 3
3.1.3 判斷是否存在
•in:判斷指定資料在某個清單序列,如果在傳回True,否則傳回False
name_list = ['wushen', 'xiaoyuan', 'cheng']
# 結果:True
print('wushen' in name_list)
# 結果:False
print('wushens' in name_list)
•not in:判斷指定資料不在某個清單序列,如果不在傳回True,否則傳回False
name_list = ['wushen', 'xioayuan', 'cheng']
# 結果:False
print('wushen' not in name_list)
# 結果:True
print('wushens' not in name_list)
• 體驗案例
需求:查找⽤戶輸⼊的名字是否已經存在。
name_list = ['wushen', 'xiaoyuan', 'cheng']
name = input('請輸⼊您要搜尋的名字:')
if name in name_list:
print(f'您輸⼊的名字是{name}, 名字已經存在')
else:
print(f'您輸⼊的名字是{name}, 名字不存在')
3.2 增加
作⽤:增加指定資料到清單中。
1.文法
•append():清單結尾追加資料。
清單序列.append(資料)
2. 體驗
name_list = ['wushen', 'xiaoyuan', 'cheng']
name_list.append('xingdie')
# 結果:['wushen', 'xiaoyuan', 'cheng', 'xingdie']
print(name_list)
清單追加資料的時候,直接在原清單⾥⾯追加了指定資料,即修改了原清單,故清單為可變類型 資料。
3. 注意點
如果append()追加的資料是⼀個序列,則追加整個序列到清單
name_list = ['wushen', 'xiaoyuan', 'cheng']
name_list.append(['xingdie', 'xingdie'])
# 結果:['wushen', 'xiaoyuan', 'cheng', ['xingdie', 'xingdie']]
print(name_list)
•extend():清單結尾追加資料,如果資料是⼀個序列,則将這個序列的資料逐⼀添加到清單。
1. 文法
清單序列.extend(資料)
2.1 單個資料
name_list = ['wushen', 'xiaoyuan', 'xingdie']
name_list.extend('liujia')
# 結果:['wushen', 'xiaoyuan', 'xingdie', 'l', 'i', 'u', 'j', 'i', 'a']
print(name_list)
具體示例如下:
2.2 序列資料
name_list = ['wushen', 'xiaoyuan', 'xingdie']
name_list.extend(['liujia', 'zhihong'])
# 結果:['wushen', 'xiaoyuan', 'xingdie', 'liujia', 'zhihong']
print(name_list)
•insert():指定位置新增資料。
清單序列.insert(位置下标, 資料)
name_list = ['wushen', 'xiaoyuan', 'xingdie']
name_list.insert(1, 'liujia')
# 結果:['wushen', 'liujia', 'xiaoyuan', 'xingdie']
print(name_list)