为了账号安全,请及时绑定邮箱和手机立即绑定

遍历字典,按求和值降序排序

遍历字典,按求和值降序排序

30秒到达战场 2021-06-25 10:09:32
我的字典是这样的...   d = {'clovato': [2.0, 1.0, 1.0, 1.5, 2.0], 'fnegro': [1.0, 3.0, 0.5], 'jbgood': [4.0, 4.0, 1.5, 1.5]}所以虽然我可以计算每个键值的总和for k,v in d.items():    print(k,sum(v))clovato 7.5fnegro 4.5jbgood 11.0 我真正需要的是按总和的降序打印键值对。在这种情况下,我希望输出为:jbgood, [4.0, 4.0, 1.5, 1.5]clovato, [2.0, 1.0, 1.0, 1.5, 2.0]fnegro, [1.0, 3.0, 0.5]
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

只需使用sorted和使用sum作为键,使用reverse使其升序。


d = {'clovato': [2.0, 1.0, 1.0, 1.5, 2.0], 'fnegro': [1.0, 3.0, 0.5], 'jbgood': [4.0, 4.0, 1.5, 1.5]}


od = sorted(d.items(), key=lambda x: sum(x[1]),reverse=True)


for key,value in od:

    print(key, value)


查看完整回答
反对 回复 2021-06-29
?
HUWWW

TA贡献1874条经验 获得超12个赞

使用带有排序x[0]和反向的理解

print(*sorted([[k, v] for k, v in d.items()], key=lambda x: sum(x[1]), reverse = True))
['jbgood', [4.0, 4.0, 1.5, 1.5]] ['clovato', [2.0, 1.0, 1.0, 1.5, 2.0]] ['fnegro', [1.0, 3.0, 0.5]]


查看完整回答
反对 回复 2021-06-29
  • 2 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信