天天看点

python:字典生成式

示例:

代码功能:随机生成20位学生即其成绩,筛选并打印出90分以上的学生及其成绩。

不采用字典生成式:

import random
stuInfo = {}    ##存放学生信息字典

for i in range(20):   ##循环20次即有20位学生
    name = 'stu' + str(i)   ##学生名字
    score = random.randint(60,100)   ##随机生成每个学生成绩
    stuInfo[name] = score   ##将学生成绩作为value赋值给每个学生

highscore = {}   ##高分学生的字典

for name,score in stuInfo.items():   ##遍历所有学生的信息
    if score > 90:   ##筛选出成绩在90分以上的学生
        highscore[name] = score   ##用key-value方式给高分学生字典增加key-value对
print(highscore)   ##打印高分学生字典
           
python:字典生成式

下 面 是 采 用 了 字 典 生 成 式 的 代 码 : 我 们 将 高 分 字 典 的 定 义 和 其 后 的 循 环 注 释 掉 , 改 用 字 典 生 成 式 。 \color{blue}{下面是采用了字典生成式的代码:我们将高分字典的定义和其后的循环注释掉,改用字典生成式。} 下面是采用了字典生成式的代码:我们将高分字典的定义和其后的循环注释掉,改用字典生成式。

import random
stuInfo = {}    ##存放学生信息字典

for i in range(20):   ##循环20次即有20位学生
    name = 'stu' + str(i)   ##学生名字
    score = random.randint(60,100)   ##随机生成每个学生成绩
    stuInfo[name] = score   ##将学生成绩作为value赋值给每个学生

print({name: score for name,score in stuInfo.items() if score > 90})
           
python:字典生成式

字典生成式:

定义:

同列表生成式一样,字典生成式是用来快速生成字典的。通过直接使用一句代码来指定要生成字典的条件及内容,替换了使用多行条件或者是多行循环代码的传统方式。

格式:

{字典内容+循环条件+判断条件【产生条件】}

大大的小小阳