天天看點

清單和元組

⼀. 清單的應⽤場景

思考:有⼀個⼈的姓名(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)      
清單和元組