Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按求和值降序进行迭代_Python - Fatal编程技术网

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作为键对其进行排序。