python-3.x - 如何按字典的值排序?
问题描述
我正在做一个数据分析项目,我试图以降序排列我的结果,我第一次遇到类似的问题时,我使用sorted(dictt.items(), key= lambda x: x[1])
它并且效果很好。现在,我遇到了一个类型错误:“AttributeError:'set' object has no attribute 'items'”。
我究竟做错了什么?
解决方案
您尝试执行的操作有一个名为 OrderedDict 的特殊集合: https ://docs.python.org/3/library/collections.html#collections.OrderedDict
问题在于,按照您所做的排序方式会返回一组项目而不是字典,并且您必须再次将其变成字典。但是,出于效率原因,标准 dict 不会跟踪输入顺序,因此,如果您真的想要,只需将一组项目插入 OrderedDict ,如下所示:
myOrderedDict = OrderedDict(sorted(dictt.items()))
推荐阅读
- c - 在内存中创建结构时(引擎盖下)的操作顺序是什么?
- ansible - Ansible 无法启动 JIRA
- javascript - axios POST 请求到后端时出现 CORS 错误
- swift - 为什么我的 SwiftUI 列表没有填充我的所有数据?
- java - 在其他语言中,我可以对整数进行布尔测试。在 Java 中,我可以这样说:
- python - 引用列表索引来枚举值
- c# - 使用语音识别引擎进行搜索
- java - 适用于 Java 和 PHP 的 PBKDF2 算法
- angularjs - 在我的选择中,我无法在我想要的值上设置默认选项
- entity-framework - EntitFramework 核心和原子性事务中的主明细表