Python-как найти среднее значение нескольких значений / ключа в словаре
у меня есть словарь, который выглядит так. . .
CombinedDict = {'Abamectin': [63, 31, 53], 'Difenzoquat metilsulfate': [185, 49, 152], 'Chlorpyrifos': [14, 26, 56], 'Dibutyl phthalate': [25, -17, -18]
и так далее. Всего у меня 48 разных ключей.
то, что я пытаюсь сделать-это среднее из трех чисел. Поэтому я бы получил дикт, который выглядит так . . .
AvgDictName = {'Abamectin': [49], 'Difenzoquat metilsulfate': [128], 'Chlorpyrifos': [32], 'Dibutyl phthalate': [-3] . . .
Я пробовал использовать эту строку
AvgDictName = dict([(key, float(sum([int(i) for i in values])) / len(values)) for key, values in CombinedDict])
, но я получаю слишком много значений, чтобы распаковать ошибку Есть идеи? Я думаю, что это также можно сделать, сделав дикт в список и найдя среднее значение из списка с использованием команд LEN и sum, а затем преобразование обратно в dict, но я действительно не знаю, как это сделать. Спасибо, у меня такое чувство, что это должно быть легко.
3 ответов
вам нужно перебрать CombinedDict.items()
или CombinedDict.iteritems()
если вы хотите распаковать в key, values