Python 按求和值降序进行迭代
我的字典看起来像这样Python 按求和值降序进行迭代,python,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 我真正需要的是让键值对按总和的降序打印。在本例中,我希望输出为: jb
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]
对排序的
x[0]
和反向使用理解
print(*sorted([[k, v] for k, v in d.items()], key=lambda x: sum(x[1]), reverse = True))
对排序的
x[0]
和反向使用理解
print(*sorted([[k, v] for k, v in d.items()], key=lambda x: sum(x[1]), reverse = True))
只需使用
排序
并使用总和
作为键,使用反向
使其升序
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)
只需使用
排序
并使用总和
作为键,使用反向
使其升序
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)
(1) 将字典转换为键值对列表。(2) 将字典转换为键值对列表。(2) 使用sum作为键对其进行排序。