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)   ##打印高分学生字典

在这里插入图片描述

下 面 是 采 用 了 字 典 生 成 式 的 代 码 : 我 们 将 高 分 字 典 的 定 义 和 其 后 的 循 环 注 释 掉 , 改 用 字 典 生 成 式 。 \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})

在这里插入图片描述

字典生成式:

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

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


                    大大的小小阳
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值