Python-如何在字典中查找多个值/键的平均值

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但我真的不知道如何去做.谢谢,我觉得这应该很容易.

Jes*_*ame 5

您需要迭代CombinedDict.items()或者CombinedDict.iteritems()如果要解压缩key, values

  • @Eric:如果你使用`from __future__ import print_function`:P(对不起,你刚选了一个错误的例子) (3认同)