84 python中的字典生成式

2021-09-26 21:19:19 字數 2104 閱讀 5110

lesson 84 python中的字典生成式

1. 示例1:選出20個學生中成績在90分以上的學生

需求:假設有20個學生,學生名為westosx,學生分數在60-100之間

#選出成績在90分以上的學生

import random  #定義乙個生成隨機數的包

stuinfo =

#定義乙個空字典,用來儲存學生資訊

for i in

range(20

): #i從0到19

name =

'westos'

+str

(i) 學生名稱為westos加數字,將數字型別轉為字串型別才能與westos連線

score = random.

randint(60

,100

) #隨機生成60到100的整數作為學生的分數

stuinfo[name]

= score #給每個name賦value值

# print

(stuinfo)

highscore =

#定義乙個字典,儲存高分(成績在90分以上)

for name,score in stuinfo.

items()

: #檢視stuinfo字典的name和score鍵值對

if score >

90: #如果分數大於90

highscore[name]

= score #就將分數賦給highscore字典

字典生成式

2. 示例2:將列表key值變為大寫

d = dict(a=1,b=2), 將所有的key值變為大寫

d =

dict

(a=1

,b=2

)# print

(d) new_d =

#定義乙個空字典

for i in d: #遍歷字典元素

new_d[i.

upper()

]= d[i] #將元素變成大寫放入新字典

可以看到,key值的小寫字母變成了大寫字母

字典生成式

print()
3. 示例3:大小寫key的值合併,統一以小寫輸出
d =

dict

(a=2

,b=1

,c=2,b

=9,a

=10) new_d =

for k,v in d.

items()

: #遍歷字典的鍵值對

low_k = k.

lower

() #將鍵的大寫變成小寫賦給low_k變數

if low_k not in new_d: 如果low_k的元素不在new_d

new_d[low_k]

= v 將對應的value值給new_d

else

: new_d[low_k]

+= v #否則就給原有的元素加上value值

print

(new_d)

字典生成式

print()   #列印小寫字母:通過鍵來獲得大小寫字母的value值,並且返回i0

python中字典生成式

需求1 假設有20個學生,學生名為westosx,學生成績在60 100之間,篩選出成績在90分以上的學生 普通方法 import random stuinfo for i in range 20 name westos str i score random.randint 60,100 stuin...

84 Python中的類成員的繼承和重寫

目錄 類成員的繼承和重寫 成員繼承 方法重寫 子類繼承了父類除構造方法之外的所有成員 子類可以重新定義父類中的方法,這樣就會覆蓋父類的方法,也稱為 重寫 類的繼承和重寫 class person def init self,name,age self.name name self.age age d...

Python中的字典生成式

練習1 假設有20個學生,學生名為westosx,學生成績在60 100之間,篩選出成績在90分以上的學生 import random stuinfo for i in range 20 name westos str i score random.randint 60,100 stuinfo na...