python - 从多个字典列表中返回特定键中具有最高值的字典
问题描述
我有以下两个字典列表:
regionA = [dict(is_buy_order=True, price=1000, type=1),
dict(is_buy_order=True, price=100, type=2),
dict(is_buy_order=False, price=10, type=2)]
regionB = [dict(is_buy_order=False, price=10, type=1),
dict(is_buy_order=True, price=100, type=1),
dict(is_buy_order=True, price=1000, type=2)]
考虑到来自 regionA 和 regionB 的数据,我想返回类型 1 和类型 2 的键 'price' 中具有最高值和键 'is_buy_order' 中的值 'True' 的字典。
我已经看到示例(例如,从特定键中具有最高值的字典列表中返回字典)适用于单个字典列表但不能使它们与集合一起使用,我想知道是否有直接的方法做。
(这里的第一个问题:让我知道是否需要澄清,感谢您的帮助!)
解决方案
您可以通过执行以下操作来做到这一点:
both_regions = regionA + regionB
result = sorted([d for d in both_regions if d['is_buy_order']],
key=lambda x: x['price'], reverse=True)[0]
输出
{'is_buy_order': True, 'price': 1000, 'type': 1}
推荐阅读
- javascript - 如何在 web js 文件中“要求”requirejs?
- django - 在 django 中将属性添加到其他应用程序的模型
- javascript - Spring Boot 和 JavaScript:如何访问 promise 对象字段?
- flutter - 在两个单独的小部件之间为定位容器设置动画
- reactjs - 错误:“node-sass”版本 5.0.0 与 ^4.0.0 不兼容
- javascript - Redux React 路由器:无法访问受保护/私有路由
- javascript - 生成最小值和最大值之间的数字数组,但也生成两个值之间的固定间隔
- python - 如何在图形网络中分割节点(弧节点?)的断开连接区域?
- connection - typeorm getConnection() 找不到“默认”连接
- python-3.x - 使用 CryptoJS 对 JS DES 加密等效的 Python3 代码