python - 根据字典中列表值的第二项对具有列表作为值的字典列表进行排序
问题描述
我有一个包含字典的列表,在每个字典中,值也是列表,如:
a = [{"25.21" : [400,500] , "25.22" : [700,502]} , {"12.15" : [350,800] , "12.13" : [750,803]}]
我想根据列表的第二项对主列表进行排序,这是字典的值,它又是主列表的一项。输出应该是这样的:
a = [ {"12.13" : [750,803] , "12.15" : [350,800] } , {"25.22" : [700,502], "25.21" : [400,500] }]
列表的第一项作为字典中每个键的值将是不同的。如果可能的话,如何在不使用 operator itemgetter 的情况下在 oneliner 中做到这一点?
这个问题和这个问题不一样。在这种情况下,列表中的字典值仅包含整数,因为此问题将列表作为主列表中的字典值。
解决方案
使用sorted
演示:
a = [{"25.21" : [400,500] , "25.22" : [700,502]} , {"12.15" : [350,800] , "12.13" : [750,803]}]
print(sorted(a, key=lambda x: list(x.items())[1][1], reverse=True))
#print(sorted(a, key=lambda x: x.items()[1][1], reverse=True)) #python2
输出:
[{'12.15': [350, 800], '12.13': [750, 803]}, {'25.21': [400, 500], '25.22': [700, 502]}]
推荐阅读
- java - 通过在运行时传入“配置文件”来动态构造 bean
- amazon-ecs - 使用 Fargate 为 ECS 中的服务配置 ALB
- ios - 将调整大小的图像从 Core Data 插入 UICollectionView 的最简单方法是什么?
- php - 使用 php 查找和解析自定义标签
- c# - 使用自定义类型、文件和指针所需的 DLLImport 方法签名进行 C++ 调用
- html - 推特克隆 - 试图在推文索引上的推文旁边显示用户用户名 - 设计
- sql - Laravel 迁移表是 MyISAM 表格式
- javascript - 使用表单输入中的值来确定它们是否超过特定年龄
- ruby-on-rails - 使用 Rails 5 升级了解 gem 的版本兼容性
- popupwindow - 如何在 conversejs 中添加按钮聊天框标题部分?