Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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_List_Dictionary - Fatal编程技术网

Python 如何根据字典列表中的列表总和对字典列表进行排序?

Python 如何根据字典列表中的列表总和对字典列表进行排序?,python,list,dictionary,Python,List,Dictionary,我有一份字典清单如下: list=[{"name":"D","marks":[8,9,7]},{"name":"A","marks":[5,8,9]},{"name":"B","marks":[5,8,2]}] 我想按标记的总和对字典进行排序。您可以使用排序的函数和一个键函数,返回d['marks']的总和(我将其更

我有一份字典清单如下:

list=[{"name":"D","marks":[8,9,7]},{"name":"A","marks":[5,8,9]},{"name":"B","marks":[5,8,2]}]

我想按标记的总和对字典进行排序。

您可以使用
排序的
函数和一个键函数,返回
d['marks']
的总和(我将其更改为
l
,因为
列表是一个关键字)

list=[{"name":"D","marks":[8,9,7]},{"name":"A","marks":[5,8,9]},{"name":"B","marks":[5,8,2]}]
sorted_list = sorted(list, key=lambda x: sum(x["marks"]))
sorted\u l=sorted(l,key=lambda d:sum(d['marks']))

你到底实现了什么?这个问题被问了很多。当您试图使用带有自定义
键的
sorted
函数时出现了什么问题?为什么要使用
numpy
?来吧,为什么要跳到numpy求和?它内置在标准图书馆里你刚刚复制了我的solution@FlavioMoraes两个人可以独立地提出相同的显而易见的解决方案。在弗拉维奥·莫雷斯的答案发表之前,我就开始研究这个问题。有没有一种方法可以按降序排序,而不用使用reverse=True?
-sum(d['marks')
而不是
总和(d['marks'])