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

---迭代dict中的itervalues()与values()区别

标签:
Python
d={'a':95,'b':85,'c':59,'d':74}
s=d.values()
print s
#输出结果为:
<dictionary-valueiterator object at 0x01256F60>
#s= d.values()
print s
#输出结果为:[95, 59, 85, 74]

求平均值:
方法一

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
s=d.values() #写为s=d.itervalues()会怎样
sum = 0.0
for i in s :
    sum=sum+i
print sum/len(s)

方法二:

sum=0.0
for i in d.itervalues():
    sum=sum+i
print sum/len(d)

如果将方法一中的
s=d.values(),写成s=itervalues()
运行程序会出现错误:

```TypeError: object of type 'dictionary-valueiterator' has no len()
由此可见原因是 s 该类型 无len
将最后一句print sum/len(s)
修改为 print sum/len(d) 就行

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消