根据总和对具有多个值的字典进行排序

时间:2018-06-20 15:38:26

标签: python list dictionary sum multiple-value

我有这样的字典

({'Apple': [1,5,3,1,6], 'Banana': [9,12,4,5,1]})

我想从中创建一个排序列表,其中,排序基于值的总和。

以下代码无法正常工作:

sorted_list = sorted(mylist.items(), key=lambda x: sum(x[1]), reverse=True)

它总是说TypeError: 'int' object is not callable

如果我忽略了sum函数,则它起作用,但是排序基于列表中的FIRST值。如果我尝试使用类似key=lambda x: (x[1][0]+x[1][1])的方法,它将对列表中的前两个值求和,并根据结果进行排序。因此,基于总和进行排序是可行的,但不能使用sum函数,而只能通过手动添加元素来进行。为什么呢?

0 个答案:

没有答案