我的字典是这样的... 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)
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]]
添加回答
举报
0/150
提交
取消