为了账号安全,请及时绑定邮箱和手机立即绑定
关注
慕妹0271477

这个代码为什么不能用?len(d.itervalues())出错

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

sum = 0.0

for v in d.itervalues():

    sum = sum + v

print sum / len(d.itervalues())


2020-04-21 630 浏览 4 回答

1. values() 方法实际上把一个 dict 转换成了包含 value 的list。

2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。


如上所说,values可以用,因为他转成了一个list,list有对应的length,而itervalues没有转换,只是单单取出对应的value,value是int类型所以取得length 会报错

2020-04-22
回复 0

可以直接使用 len(d)


2020-04-22
回复 0

你用这个你根本不知道长度呀,完全是想当然,value只是一个属性,并不是一个数据类型

2020-05-17
回复 0

在python3中itervalues()方法会报错,建议使用values().

2020-06-11
回复 0

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信