У меня есть два списка словарей (возвращаемых в виде запросов Django). Каждый словарь имеет значение 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}]
Дополнительные примечания:
- Идентификаторы в списках могут быть не в том же порядке (как в примере выше).
- В списках, вероятно, будет одинаковое количество элементов, но я хочу учесть этот параметр, если они не сохраняют все значения из list_a (по существу
list_a OUTER JOIN list_b USING user__id
). - Я пытался сделать это в SQL, но это невозможно, поскольку некоторые из значений являются агрегатами на основе некоторых исключений.
- Безопасно предположить, что в каждом списке будет использоваться не более одного словаря с тем же
user__id
из-за использованных запросов к базе данных.
Большое спасибо за ваше время.