python 字典生成式

2021-09-24 02:34:54 字數 1299 閱讀 2506

python內建的一種極其強大的生成字典的表示式。返回結果必須是字典

需求1:假設有20個學生,學生的分數在60~100之間,篩選出成績在90分以上的學生

方法一:使用for迴圈生成字典

import  random

stu = {}

for i in range(20):

name = 'westos' + str(i)

score = random.randint(60,100)

stu[name] = score

highscore = {}

for name,score in stu.items():

if score > 90:

highscore[name] =score

print(highscore)

方法二:字典生成式

import  random

stu = {}

for i in range(20):

name = 'westos' + str(i)

score = random.randint(60,100)

stu[name] = score

print()

需求2:將所有的key值都變成大寫

方法一:for 迴圈

d = dict(a = 1 ,b = 2 )

new_d= {}

for i in d :

new_d [i.upper()] = d[i]

print('n:',new_d)

方法二:字典生成式

d = dict(a=1, b=2)

print()

效果展示

需求3:大小寫的key值合併,統一以小寫輸出

方法一:for迴圈

d = dict(a=1, b=2, c=3, b=9, a=10)

new_d = {}

for k,v in d.items():

low_k = k.lower()

if low_k not in new_d:

new_d[low_k] = v

else:

new_d[low_k] += v

print(new_d)

方法二:字典生成式

d = dict(a=1, b=2, c=3, b=9, a=10)

print()

python 字典生成式

需求1 假設有20個學生,學生名為westosx,學生成績在60 100之間,篩選出成績在90分以上的學生 import random stuinfo 用來存放學生資訊 for i in range 20 將資訊存放到列表裡 name westos str i score random.randin...

Python 字典生成式

題目一 假設有20個學生,名字為westosx,學生分數在60 100之間,篩選出成績在90分以上的學生 一般做法 import random stuinfo for i in range 20 name westos str i score random.randint 60,100 stuinf...

python 字典生成式

案例一 假設有20個學生,名字為westosx,學生分數在60 100之間,篩選出成績 在90分以上的學生 第一種普通方法 第二種字典生成式 import random stuinfo for i in range 20 name westos str i score random.randint ...