有没有一种方法可以从字典中的列表中的特定索引中获取项目值

问题描述

我有一个字典,其键名分别为step1,step2,step3,并且每个键都有关联的值,这些值列出了每个值中包含5个项目。 我的要求是获取字典中每个项目的平均值:

mydict = {
    'step1': [0.94,0.94,0.96,0.94],'step2': [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

对此的任何快速提示都将受到高度赞赏

解决方法

请查看此代码片段是否可以解决您的问题?

import numpy as np  # Make Sure You Have 'numpy' installed

mydict = {'step1': [0.94,0.94,0.96,0.94],'step2': [
    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.

希望如此,此片段会有所帮助。

快乐编码!

,

假设每个列表的大小都是预先知道的,您可以一行完成:

>>> [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]