python—字典生成式

Python内置的一种极其强大的生成字典的表达式。返回结果必须是字典
使用示例说明字典生成式

需求1:假设有20个学生,学生的分数在60~100之间,筛选出成绩在90分以上的学生

import random
#定义学生信息的字典
student = {}
for i in range(0,20):
    name= 'toto'+str(i)
    score = random.randint(60,100)
    student[name] = score
high_score = {}
#创建一个字典 通过for 循环
for k,v in student.items():
    if v > 90:
        high_score[k] = v
print(high_score)
import random
student = {}
for i in range(0,20):
    name= 'toto'+str(i)
    score = random.randint(60,100)
    student[name] = score
high_score = { k:v for k,v in student.items() if v > 90}    # 使用字典生成式
print(high_score)

需求2:将所有的key值都变成大写
源字典:student = dict(toto=88, lala=90,lele=85)

student = dict(toto=88, lala=90,lele=85)
student_upper = { k.upper():v for k,v in student.items()}   # 使用字典生成式
print(student_upper)

转换后输出的字典:

{'TOTO': 88, 'LALA': 90, 'LELE': 85}

需求3:大小写的key值合并,统一以小写输出
源字典:old_dict = dict(a=1,b=2,c=3,A=4,B=5)
新字典:new_dcit = {‘a’: 5, ‘b’: 7, ‘c’: 3}

old_dict = dict(a=1,b=2,c=3,A=4,B=5)
new_dcit = {}
for k,v in old_dict.items():
    if k.lower() in new_dcit:
        new_dcit[k.lower()] += v
    else:
        new_dcit[k.lower()] = v
print(new_dcit)
old_dict = dict(a=1,b=2,c=3,A=4,B=5)
#使用字典生成式
new_dcit = { k.lower():old_dict.get(k.upper(),0)+old_dict.get(k.lower(),0) for k in old_dict }
print(new_dcit)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值