通过按递减的求和值来迭代dict

时间:2018-09-26 17:43:35

标签: python

我的字典看起来像这样...

   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.5
fnegro 4.5
jbgood 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 个答案:

答案 0 :(得分:3)

只需使用http://www.seventymm.co.in/browse/buy-home-furnishing-bed-sheets-pack-of-3/2456/1/v2034/0/0/1/2/1/0/go并使用--spring.config.location=\config作为密钥,并使用sorted使其升序。

sum

答案 1 :(得分:1)

将理解与排序的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]]