我有两个字典列表(作为 Django 查询集返回)。每个字典都有一个 ID 值。我想根据 ID 值将两者合并到一个字典列表中。
例如:
list_a = [{'user__name': u'Joe', 'user__id': 1},
{'user__name': u'Bob', 'user__id': 3}]
list_b = [{'hours_worked': 25, 'user__id': 3},
{'hours_worked': 40, 'user__id': 1}]
我想要一个函数来产生:
list_c = [{'user__name': u'Joe', 'user__id': 1, 'hours_worked': 40},
{'user__name': u'Bob', 'user__id': 3, 'hours_worked': 25}]
需要注意的其他要点:
- 列表中的 ID 的顺序可能不同(与上面的示例一样)。
- 列表可能具有相同数量的元素,但如果不是,我想考虑该选项,但保留 list_a 中的所有值(本质上
list_a OUTER JOIN list_b USING user__id
)。 - 我尝试在 SQL 中执行此操作,但这是不可能的,因为某些值是基于某些排除项的聚合。
user__id
由于使用的数据库查询,可以安全地假设每个列表中最多只有一个具有相同的字典。
非常感谢您的时间。