我有两个字典列表(返回为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
字典。
非常感谢您的时间。
{}
的语法是用于字典的... - thegrinner