我有一个字典,其键名分别为step1,step2,step3,并且每个键都有关联的值,这些值列出了每个值中包含5个项目。 我的要求是获取字典中每个项目的平均值:
mydict = {
'step1': [0.94, 0.94, 0.94, 0.96, 0.94],
'step2': [0.94, 0.94, 0.94, 0.94, 0.94],
'step3': [0.92, 0.86, 0.98, 0.92, 0.94]
}
作为硬代码,我可以编写此代码-但我想使其更加动态:
avg_each_item1 = (
mydict['step1'][0]
+ mydict['step2'][0]
+ mydict['step3'][0]
+ mydict['step4'][0]
+ mydict['step5'][0]
) / 5
对此的任何快速提示都将受到高度赞赏
答案 0 :(得分:1)
请查看此代码片段是否可以解决您的问题?
import numpy as np # Make Sure You Have 'numpy' installed
mydict = {'step1': [0.94, 0.94, 0.94, 0.96, 0.94], 'step2': [
0.94, 0.94, 0.94, 0.94, 0.94], 'step3': [0.92, 0.86, 0.98, 0.92, 0.94]}
for k, v in mydict.items():
print("Average For", k, ":", np.average(mydict[k])) # Calculating The Average for each step.
希望如此,此片段会有所帮助。
快乐编码!
答案 1 :(得分:0)
假设每个列表的大小都是预先知道的,您可以一行完成:
>>> [sum([mydict[j][i] for j in mydict])/len(mydict.keys()) for i in range(5)]
[0.9280000000000002, 0.892, 0.9640000000000001, 0.932, 0.9399999999999998]