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

为啥我用itervalues失败,而点赞最高的答案使用却成功呢?

https://img1.sycdn.imooc.com//5b9624150001013905480215.jpg

https://img1.sycdn.imooc.com//5b96241600018bb605540095.jpg

前两张图是我写的代码以及运行结果,第三张图是模范代码

正在回答

3 回答

  1. itervalues只是一个对象,所以没有len方法

  2. 灰小白的代码很哆嗦并且不简洁,根据我说的第一点,len(d)不就行了,为何要去len一个对象呢?

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

换成average = sum/len(d.values())     d.values()转换成一个list ,所以len(d)和len(d.values)都可以,但是 itervalues() 方法不会转换,只是迭代时取值,不可以用len 

4 回复 有任何疑惑可以回复我~
len(d.itervalues())是不规范的,参考下用变量n记录value的个数。
d = {'Adam':95, 'Lisa':85, 'Bart':59, 'Paul':74}
sum = 0.0
n = 0
for x in d.itervalues():
    sum += x
    n += 1
average = sum / n

print average


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

举报

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

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

进入课程

为啥我用itervalues失败,而点赞最高的答案使用却成功呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号