python - 从字典列表中为另一个字典中的键获取相同的值
问题描述
这是我的字典列表。
d = [{'count': '100', 'zone': 'PIMPRI', 'cycle': '15'},
{'count': '50', 'zone': 'PIMPRI', 'cycle': '15'},
{'count': '150', 'zone': 'PIMPRI', 'cycle': '30'}]
我怎样才能得到如下输出:
d_one = [{'count': '100', 'zone': 'PIMPRI', 'cycle': '15'},
{'count': '50', 'zone': 'PIMPRI', 'cycle': '15'}]
d_two = [{'count': '150', 'zone': 'PIMPRI', 'cycle': '30'}]
从两个键区和循环的字典列表中获取不同的数据。对于相同的区域和循环对,创建一个字典列表,直到结束。
解决方案
使用对(dct['zone'], dct['cycle'])
作为键来制作字典:
>>> result = {}
>>>
>>> for dct in d:
... result.setdefault((dct['zone'], dct['cycle']), []).append(dct)
...
>>> result
{('PIMPRI', '15'): [{'count': '100', 'zone': 'PIMPRI', 'cycle': '15'}, {'count': '50', 'zone': 'PIMPRI', 'cycle': '15'}], ('PIMPRI', '30'): [{'count': '150', 'zone': 'PIMPRI', 'cycle': '30'}]}
推荐阅读
- aws-step-functions - 具有动态步骤的 AWS Step Functions
- python - 将日期时间数据的数据框列转换为 DD/MM/YYYY 字符串数据
- css - 引导角度日期选择器 ngbDatepicker 不会在 ngbPanelContent 上溢出
- ionic-framework - HTML5 视频播放器在使用 Ionic-v3 加载位于设备内部的视频时出错
- javascript - 如何使用 Jquery 在一个列标题下包含 2 列
- julia - 如何从 Julia 图中提取 xy 数据?
- c# - 如何限制日期时间 UI 只选择今天或现在之后的日期?
- swift - 如何以编程方式定位 scene.scn 中的对象?
- r - 查找泛型函数的麻烦方法
- python-2.7 - 如何在for循环的每次迭代中获取字典中的所有产品