python - 根据总和对具有多个值的字典进行排序
问题描述
我有一本这样的字典
({'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
功能,但排序是基于列表中的第一个值。如果我尝试类似key=lambda x: (x[1][0]+x[1][1])
的方法,它会总结列表中的前两个值并根据结果进行排序。因此,基于总和的排序确实有效,但不能使用sum
函数,而只能通过手动添加元素。为什么呢?
解决方案
推荐阅读
- php - 在 laravel 5.7 上上传文件
- java - 在 Java 中的现有 Socket 上创建未连接的 SSLSocket
- java - 将对象列表转换为通过检查的整数列表
- excel - 尝试使用 VBA 从 excel 创建文件夹和子文件夹
- iis - IIS下ASP.NET Core随机重启
- javascript - 如何在 MongoDB 中创建长时间戳的 TTL 索引
- javascript - NodeJS Ajv 模块总是记录消息'$ref:路径“#”的架构中忽略的关键字'
- c# - Windows Forms exe 文件可以在我的电脑上运行,而不能在其他电脑上运行
- featuretools - 来自 featuretools 的 feature_matrix[["MEAN_SUNDAY(log.value, datetime)", "MEAN_SUNDAY(log.value_2, datetime)"]] 中的“log”是什么意思?
- html - 禁止父 div 宽度动态高度扩展以适应子内容