У меня есть следующий словарь:
mydict = {'HEALTH': {'NumberOfTimes': 2, 'Score': 12},
'branch': {'NumberOfTimes': 4, 'Score': 34},
'transfer': {'NumberOfTimes': 1, 'Score': 5},
'deal': {'NumberOfTimes': 1, 'Score': 10}}
Я хочу разделить Score
на NumberOfTimes
для каждого ключа в mydict
и сохранить его в списке или другом словаре. Цель состоит в том, чтобы иметь следующее:
newdict = {word:'HEALTH', 'AvgScore': 6},
{word:'branch': 4, 'AvgScore': 8.5},
{word:'transfer', 'AvgScore': 5},
{word:'deal', 'AvgScore': 10}}
Мой код для последнего выглядит следующим образом:
newdict = {}
for k, v in mydict.items():
newdict[k]['AvgScore'] = v['Score']/v['NumberOfTimes']
Но это дает ошибку KeyError: 'HEALTH'
.
Я тоже попробовал следующее:
from collections import defaultdict
newdict = defaultdict(dict)
for k, v in mydict.items():
newdict[k]['AvgScore'] = v['Score']/v['NumberOfTimes']
Здесь я получаю следующую ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-237-d6ecaf92029c> in <module>()
4 # newdict = {}
5 for k, v in mydict.items():
----> 6 newdict[k]['AvgScore'] = v['Score']/v['NumberOfTimes']
7
8 #sorted(newdict.items())
TypeError: string indices must be integers
Как добавить пары ключ-значение в новый словарь?