为了账号安全,请及时绑定邮箱和手机立即绑定

迭代dict的value

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }


sum = 0.0

for x in d.values():

    sum = ( sum + x )  / len(d)

print sum

这样子为什么不行啊 

正在回答

2 回答

去掉:/len(d),先计算出总和,最后再除以总数算平均值

0 回复 有任何疑惑可以回复我~
#1

慕沐4974640 提问者

非常感谢!
2017-04-08 回复 有任何疑惑可以回复我~

这样为什么不行,因为你在循环里每次都除以长度。本来如果是每个元素除以一次长度再求和也是对的。

但是sum = ( sum + x )  / len(d)这句在循环里导致第一个元素被除了n(长度)次。第二个元素被除了(n-1)次。只有最后一个元素是只被除了一次。所以不对。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

迭代dict的value

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信