我有这样的字典
({'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
函数,而只能通过手动添加元素来进行。为什么呢?