在講述這三個概念之前,首先我們需要對列表、字典、集合這三個概念,做一個簡單的說明。
列表推導式在日常程式設計中,發揮著很重要的作用(尤其是利用python做資料淨化的時候),它能夠簡化我們的程式碼,及其好用,我這裡將它的常見3種用法給大家總結一下。
x = [1, 3, 5, 7, 9]
y = [i**2 for i in x]
print(y)
結果如下:
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [i for i in x if i % 2 == 0]
print(y)
結果如下:
x = [1, 2, 3, 4, 5, 6]
y = ["我是偶數" if i % 2 == 0 else "我是奇數" for i in x]
print(y)
結果如下:
其實不管是現在要講述的字典解析式,還是後面要講述的集合解析式,基本都可以使用列表解析式的3中常規操作。我這裡僅僅用下面這一個案例來進行說明。
這裡有一份成績單,記錄了每個學生的英語成績,下面我要篩選出英語成績及格(大於等於60)的資訊。
x = {'張三': 70, '李四': 49,'王五': 67, '趙六': 80,'沈七': 99}
y = {k: v for k, v in x.items() if int(v) >= 60}
print(y)
結果如下:
注意一個概念,集合是不可重複的,集合解析式能夠自動實現去重功能。其實這裡的用法和上述的字典有點相似,仔細看清楚哦。
x = ["香蕉","橘子","西瓜","香蕉","橘子"]
y = {i for i in x}
print(y)
結果如下: