python问题求解。

已知五个同学的数学和英语成绩A78和75b92和67c84和88d50和50e99 98。用列表的方法。是按照总分从高到低进行排序后,输出姓名和成绩。

怎么存储的数据?下面这样?

lst=[
   ['A',78,75],   
   ['B',92,67],   
   ['C',84,88],   
   ['D',50,50],   
   ['E',99,98]
    ]
lst=sorted(lst,key=lambda stu:stu[1]+stu[2],reverse=True)

for stu in lst:
    print(stu[0],'数学:%s'%stu[1],'英语:%s'%stu[2])


score = {
    'A':{'数学':78,'英语':75},
    'B':{'数学':92,'英语':67},
    'C':{'数学':84,'英语':88},
    'D':{'数学':50,'英语':50},
    'E':{'数学':99,'英语':98},
}

result = []
for name,info in score.items():
    single_sum = info.get('数学') + info.get('英语')
    result.append( [ name,single_sum ] )

# 按照结果从大到小排序
result.sort( key=lambda x:x[1],reverse=True)

for i in result:
    print( '姓名: {}   成绩:{}'.format( i[0],i[1] ) )


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632