Господа, помогите пожалуйста советом: имеются следующие вводные:
Есть список, в котором лежат еще три списка, возвращаемые функциями
united_scores = [self.find_common_groups(), self.find_common_friends(), self.compare_and_set_score()]
Элементы вложенных списков - словари в следующем формате:
{'id': 359631473, 'score': 6}
{'id': 133979437, 'score': 2}
{'id': 53245825, 'score': 2}
{'id': 225959252, 'score': 2}
Задача: сложить значения ключей score для всех уникальных id.
Обшерстил весь интернет, максимум что получается- суммирование всех значений по id и score, в итоге получается:
def unite_lists(self):
united_scores = [self.find_common_groups(), self.find_common_friends(), self.compare_and_set_score()]
for element in united_scores:
result = dict(functools.reduce(operator.add,
map(collections.Counter, element)))
print(result)
В Результате получаю сумму всех id и их score по трем входящим спискам...:
{'id': 47308545803, 'score': 2555}
{'id': 23604130033, 'score': 1340}
{'id': 12414787583, 'score': 946}
Как наиболее элегантно решить мою задачу?