把学科和成绩提取出来生成一个新的字典,然后排序

st = [{'name':'科学简史','chengji': 87,'xuefen':2,'jidian':3.7},{'name':'初级会计学','chengji': 80,'xuefen':4,'jidian':3},{'name':'锅庄','chengji': 73,'xuefen':0.5,'jidian':2.3},{'name':'军事技能训练','chengji':85 ,'xuefen':1,'jidian':3.5},{'name':'大学体育1','chengji':68 ,'xuefen':1,'jidian':1.8},{'name':'计算机基础','chengji':79 ,'xuefen':3,'jidian':2.9},{'name':'大学英语A1','chengji': 71,'xuefen':2,'jidian':2.1},]

st = [{'name': '科学简史', 'chengji': 87, 'xuefen': 2, 'jidian': 3.7},
      {'name': '初级会计学', 'chengji': 80, 'xuefen': 4, 'jidian': 3},
      {'name': '锅庄', 'chengji': 73, 'xuefen': 0.5, 'jidian': 2.3},
      {'name': '军事技能训练', 'chengji': 85, 'xuefen': 1, 'jidian': 3.5},
      {'name': '大学体育1', 'chengji': 68, 'xuefen': 1, 'jidian': 1.8},
      {'name': '计算机基础', 'chengji': 79, 'xuefen': 3, 'jidian': 2.9},
      {'name': '大学英语A1', 'chengji': 71, 'xuefen': 2, 'jidian': 2.1}, ]

d = {}
for s in st:
    d[s['name']] = s['chengji']
d = sorted(d.items(), key=lambda kv: (kv[1], kv[0]))
print(d)

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢
 

st = [{'name':'科学简史','chengji': 87,'xuefen':2,'jidian':3.7},{'name':'初级会计学','chengji': 80,'xuefen':4,'jidian':3},
      {'name':'锅庄','chengji': 73,'xuefen':0.5,'jidian':2.3},{'name':'军事技能训练','chengji':85 ,'xuefen':1,'jidian':3.5},
      {'name':'大学体育1','chengji':68 ,'xuefen':1,'jidian':1.8},
      {'name':'计算机基础','chengji':79 ,'xuefen':3,'jidian':2.9},{'name':'大学英语A1','chengji': 71,'xuefen':2,'jidian':2.1}]

newst = []
for i in st:
    dict = {'name':i['name'],'chengji':i['chengji']}
    newst.append(dict)

newst = sorted(newst, key=lambda keys:keys['chengji'])
print(newst)

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m