我有一个类似于这样的字典. . .
我尝试使用这行代码。
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])
但是我遇到了“too many values to unpack”错误,有什么想法吗?我认为也可以通过将字典转换为列表,并使用len和sum命令从列表中找到平均值,然后再将其转换回字典来完成,但我不太清楚如何操作。谢谢,我觉得这应该很容易。
.iteritems()
。 - inspectorG4dget.items()
实际上更好,因为它是“Python 3证明”的,除非您真的需要针对大值列表进行优化。 - Ben Hoytfrom __future__ import print_function
:P(抱歉,你刚刚选择了一个错误的例子) - lqc