我有一本看起來像這樣的字典。 。 。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命令從列表中找到平均值,然後轉換回字典來完成,但我真的不知道該怎麼去做。謝謝,我有一種感覺,這應該很容易。
'.iteritems()'爲Python 2.x的 – inspectorG4dget
@ inspectorG4dget,' .items()實際上更好,因爲它是「Python 3證明」,除非你真的需要爲大值列表進行優化。 –
@BenHoyt:這就是2to3工具的用途。我是否也應該將所有的打印語句都放在括號內? – Eric