это решение весьма ограничено вводом, который вы представили.В качестве первого наивного подхода я бы разделил задачу на 3 части:
- Разобрать входные данные в список кортежей.Прочитайте ввод и создайте
old_list
, где каждый элемент является кортежем (значение, ключ)
old_list = [(100, 'Spam'), (250, 'Spam'), (50, 'Spam'), (20, 'Eggs'), (70,'Eggs')]
Пройдите по старому списку и создайте подсказку для накопления результата.
result = {}
for elem in old_list:
if elem[1] in result:
result[elem[1]] += elem[0]
else:
result[elem[1]] = elem[0]
Для каждого элемента в old_list
, если вы уже видели элемент с тем же ключом, суммируйте его значенияи продолжай.В противном случае добавьте ключ к результату dict с текущей стоимостью.
Пройдите проверку и запишите файл.
result = {'Spam': 400, 'Eggs': 90}
Удачи!