You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用for循环获取Python字典所有元素的均值?代码仅输出最后一个结果

计算字典中每个元素的均值问题解决

你的代码逻辑本身是对的,但最后输出环节出错了——循环结束后value变量保留的是最后一个键('ao'),所以print(avg_rate[value])只会打印该键对应的单个均值。

修改方法很简单,直接打印整个avg_rate字典即可:

comp_dict = {'ap': {'val': 0.3, 'count': 3}, 'sd': {'val': 0.02, 'count': 1}, 'ao': {'val': 0.01, 'count': 1}}

avg_rate = {}
for key in comp_dict.keys():
    avg_rate[key] = comp_dict[key]['val'] / comp_dict[key]['count']
# 打印整个结果字典,而非单个键对应的值
print(avg_rate)

运行后会输出:{'ap': 0.1, 'sd': 0.02, 'ao': 0.01},完全符合你的需求。

另外,也可以用Python的字典推导式简化代码,写法更简洁高效:

comp_dict = {'ap': {'val': 0.3, 'count': 3}, 'sd': {'val': 0.02, 'count': 1}, 'ao': {'val': 0.01, 'count': 1}}

avg_rate = {k: v['val'] / v['count'] for k, v in comp_dict.items()}
print(avg_rate)

这个写法直接遍历字典的键值对,一步生成结果字典,效果和循环写法一致。

内容的提问来源于stack exchange,提问作者James Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:01:03