盤點(diǎn)Python基礎(chǔ)之列表的那些事兒
一、列表的格式
示例:
- namesList = ['xiaoWang','xiaoZhg','xiaa']
比C語言的數(shù)組強(qiáng)大的地方在于列表中的元素可以是不同類型的。
- testList = [1, 'a']
二、列表的相關(guān)操作("增"、"刪"、"改",“查”)
<1> 添加元素
append()通過append可以向列表添加元素。
例:
- # 定義變量A,默認(rèn)有3個(gè)元素
- A = ['rr', 'rag', 'rte']
- print("-----添加之前,列表A的數(shù)據(jù)-----")
- for tempName in A:
- print(tempName)
- # 提示、并添加元素
- temp = input('請(qǐng)輸入要添加的學(xué)生姓名:')
- A.append(temp)
- print("-----添加之后,列表A的數(shù)據(jù)-----")
- for tempName in A:
- print(tempName)
運(yùn)行結(jié)果:
<2> 修改元素("改")
修改元素的時(shí)候,要通過下標(biāo)來確定要修改的是哪個(gè)元素,然后才能進(jìn)行修改。
例:
- # 定義變量A,默認(rèn)有3個(gè)元素
- A = ['rr', 'rag', 'rte']
- print("-----修改之前,列表A的數(shù)據(jù)-----")
- for tempName in A:
- print(tempName)
- # 修改元素
- A[1] = 'Lu'
- print("-----修改之后,列表A的數(shù)據(jù)-----")
- for tempName in A:
- print(tempName)
結(jié)果:
<3> 查找元素("查"in, not in, index, count)
python中查找的常用方法為:
- in(存在),如果存在那么結(jié)果為true,否則為false。
- not in(不存在),如果不存在那么結(jié)果為true,否則false。
- #待查找的列表
- A = ['rr', 'rag', 'rte']
- #獲取用戶要查找的名字
- findName = input('請(qǐng)輸入要查找的內(nèi)容:')
- #查找是否存在
- if findName in A:
- print('在字典中找到了相同的內(nèi)容')
- else:
- print('沒有找到')
運(yùn)行結(jié)果:(找到)
運(yùn)行結(jié)果:(沒有找到)
注:
in的方法只要會(huì)用了,那么not in也是同樣的用法,只不過not in判斷的是不存在。
<4> 刪除元素("刪"del, pop, remove)
del (根據(jù)下標(biāo)進(jìn)行刪除)
- Name = ['加勒比海盜','駭客帝國','第一滴血','霍比特人','速度與激情']
- print('------刪除之前------')
- for tempName in Name:
- print(tempName)
- del Name[2]
- print('------刪除之后------')
- for tempName in Name:
- print(tempName)
結(jié)果:
pop(刪除最后一個(gè)元素)
- Subject= ['數(shù)學(xué)', '語文', '英語', '地理', '歷史']
- print('------刪除之前------')
- for tempSubject in Subject:
- print(tempSubject)
- del Subject[2] #刪除第二個(gè)元素
- print('------刪除之后------')
- for tempSubject in Subject:
- print(tempSubject)
運(yùn)行結(jié)果:
remove (根據(jù)元素的值進(jìn)行刪除)
- Subject= ['數(shù)學(xué)', '語文', '英語', '地理', '歷史']
- print('------刪除之前------')
- for tempSubject in Subject:
- print(tempSubject)
- # del Subject[2] #刪除第二個(gè)元素
- Subject.remove('英語')
- print('------刪除之后------')
- for tempSubject in Subject:
- print(tempSubject)
結(jié)果:
<5> 排序(sort, reverse)
sort方法是將list按特定順序重新排列,默認(rèn)為由小到大,參數(shù)reverse=True可改為倒序,由大到小。
reverse方法是將list逆置。
- a = [1, 4, 2, 3]
- print(a)
- a.reverse()
- print(a) # 運(yùn)行結(jié)果
- a.sort()
- print(a) # 運(yùn)行結(jié)果
- a.sort(reverse=True)
- print(a) # 運(yùn)行結(jié)果
運(yùn)行結(jié)果:
三、列表的嵌套
1. 列表嵌套
類似while循環(huán)的嵌套,列表也是支持嵌套的。
一個(gè)列表中的元素又是一個(gè)列表,那么這就是列表的嵌套。
例:
- Letter= [['A', 'B'],
- ['C', 'D', 'E'],
- ['F', 'R']]
2. 字典列表
列表中包含字典。比如花名冊(cè):
- pep1 = {'name': '蔡同學(xué)', 'school': '北京大學(xué)'}
- pep2 = {'name': '陳作同', 'school': '中山大學(xué)'}
- pep_list = [pep1, pep2]
- for pepo in pep_list:
- print(pepo)
運(yùn)行結(jié)果:
有的應(yīng)用場(chǎng)景,會(huì)在列表中包含大量的字典, 而且其中的每個(gè)字典都會(huì)包含擁有眾多屬性的大對(duì)象。
3. 列表字典
字典包含列表。比如圖書的標(biāo)簽,一本書會(huì)被標(biāo)注多個(gè)標(biāo)簽:
- book = {'title': '現(xiàn)代藝術(shù)150年',
- 'tags': ['數(shù)學(xué)', '歷史學(xué)']}
- for tags in book['tags']:
- print(tags)
運(yùn)行結(jié)果:
四、總結(jié)