@redduckrobot

Как просуммировать значения дубликатов в массиве?

Здравствуйте, последнее время довольно часто сталкиваюсь с задачей суммирования значений дубликатов, задачу я разрешил, но чует мое сердце есть более красивое решение. Суть такая, есть массив:

data = [{'name': 'Вася', 'salary': 2000}, {'name': 'Петя', 'salary': 1000}, ...]
# либо можно так (тут что проще для решения): data = [{'Вася': 2000}, {'Петя': 1000}, ...]
# Вась, Петь и %another_user% может быть одинаковых n штук

На выходе мне нужно получить массив, в котором будет только один Вася, Петя и т.д, но при этом, их salary просуммируются. Подскажите, пожалуйста, при помощи чего можно довольно просто решить эту задачу?
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
AnnTHony
@AnnTHony
Интроверт
x = {}
for i in data:
	if (i['name'] in x.keys()):
		x[i['name']] += i['salary']
	else:
		x[i['name']] = i['salary']
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 12:20
10000 руб./за проект
22 нояб. 2024, в 11:53
3000 руб./за проект
22 нояб. 2024, в 11:51
20000 руб./за проект