comp_dict = {'ap': {'val': 0.3, 'count': 3}, 'sd': {'val': 0.02, 'count': 1}, 'ao': {'val': 0.01, 'count': 1}}
avg_rate = {}
for value in comp_dict.keys():
avg_rate[value] = comp_dict[value]['val']/comp_dict[value]['count']
print(avg_rate[value])
似乎我得到的输出只生成了我想要的最后一个元素的平均值,我想知道我怎么可能得到所有三个元素的平均值。
我现在得到的输出只是0.01
我想要的输出应该是{ap:0.1,sd:0.02,ao:0.01}
非常感谢!
您刚刚在打印avg_rate值时犯了一个小错误。
你可以这样做:
avg_rate = {}
for value in comp_dict.keys():
avg_rate[value] = comp_dict[value]['val']/comp_dict[value]['count']
print(avg_rate)
给定comp_dict = {'ap': {'val': 0.3, 'count': 3}, 'sd': {'val': 0.02, 'count': 1}, 'ao': {'val': 0.01, 'count': 1}}
,
输出为:
{'ap': 0.09999999999999999, 'sd': 0.02, 'ao': 0.01}
我想这行得通
avg_rate = {k:comp_dict[k]['val']/comp_dict[k]['count'] for k in comp_dict for k2 in comp_dict[k]}