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