Python字典应用:学生成绩列表输出

题目内容

假设有一个存放学生学号和语数英三门功课成绩的列表studs如下:
studs= [{‘sid’:‘103’, ‘Chinese’: 90, ‘Math’:95, ‘English’:92},{‘sid’:‘101’, ‘Chinese’: 80, ‘Math’:85, ‘English’:82}, {‘sid’:‘102’, ‘Chinese’: 70, ‘Math’:75, ‘English’:72}]。编写程序,将列表studs的数据内容提取出来,放到一个字典scores中,在屏幕上按学号从小到大的顺序显示输出所有学生的学号及语数英三门功课的成绩。

求解代码

# 原始数据构成的列表,列表中每一个元素是一个字典
studs= [{'sid':'103', 'Chinese': 90, 'Math':95, 'English':92},\
        {'sid':'101', 'Chinese': 80, 'Math':85, 'English':82},\
        {'sid':'102', 'Chinese': 70, 'Math':75, 'English':72}]
studs.sort(key=lambda x:eval(x['sid']))
# 创建一个名为scores的字典并记录原始数据
scores=dict()
for student in studs:
          scores[student['sid']]=list()
          scores[student['sid']].append(student['Chinese'])
          scores[student['sid']].append(student['Math'])
          scores[student['sid']].append(student['English'])
# 输出字典结果
for score in scores:
          print('{}:{}'.format(score,scores[score]))

输出结果

在这里插入图片描述

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值