use*_*086 6 python dictionary average
我有一本看起来像这样的字典...
CombinedDict = {'Abamectin': [63, 31, 53], 'Difenzoquat metilsulfate': [185, 49, 152], 'Chlorpyrifos': [14, 26, 56], 'Dibutyl phthalate': [25, -17, -18]
Run Code Online (Sandbox Code Playgroud)
等等.我总共有48个不同的按键.
我想要得到的是这三个数字的平均值.所以我会得到一个看起来像这样的字典...
AvgDictName = {'Abamectin': [49], 'Difenzoquat metilsulfate': [128], 'Chlorpyrifos': [32], 'Dibutyl phthalate': [-3] . . .
Run Code Online (Sandbox Code Playgroud)
我试过用这条线
AvgDictName = dict([(key, float(sum([int(i) for i in values])) / len(values)) for key, values in CombinedDict])
Run Code Online (Sandbox Code Playgroud)
但我得到太多的值来解压错误 任何想法?我认为也可以通过将dict放入列表并使用len和sum命令从列表中查找平均值然后转换回dict但我真的不知道如何去做.谢谢,我觉得这应该很容易.
您需要迭代CombinedDict.items()或者CombinedDict.iteritems()如果要解压缩key, values