Python Как сложить значения одинаковых ключей в OrderedDict словаре?
как сложить значения одинаковых ключей в OrderedDict словаре?
например, чтобы при вводе:
4
a 5
b 7
c 3
a 5
значения одинаковых ключей сложились?
пока иду в этом направлении, но не понимаю как преобразовать value из str в int:
from collections import OrderedDict, Counter, defaultdict
n = int(input('How Many N?:'))
order = OrderedDict(input('key and value: ').split() for _ in range(n))
order1 = defaultdict(int)
for key, value in order.items():
order1[key] += int(value)
c = Counter()
for d in order1:
c.update(d)
print(order1)
или
from collections import OrderedDict, Counter
n = int(input('How Many N?:'))
order = OrderedDict(input('Product name and volume separate by a space: ').split() for _ in range(n))
c = Counter()
[c.update({k: int(v)}) for k,v in order]
print(order)
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
сложить все значения можно так:
order1 = {}
for key in order:
try:
order1[key] += int(order[key])
except:
order1[key] = int(order[key])
А красивый вывод можно сделать так:
for key, value in order1.items():
print(key, value)