Python values()与itervalues()的用法详解
dict对象有一个values()方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是dict的每一个value:
d={'Adam':95,'Lisa':85,'Bart':59} printd.values() #[85,95,59] forvind.values(): printv #85 #95 #59
如果仔细阅读Python的文档,还可以发现,dict除了values()方法外,还有一个itervalues()方法,用itervalues()方法替代values()方法,迭代效果完全一样:
d={'Adam':95,'Lisa':85,'Bart':59} printd.itervalues() #forvind.itervalues(): printv #85 #95 #59
那这两个方法有何不同之处呢?
1.values()方法实际上把一个dict转换成了包含value的list。
2.但是itervalues()方法不会转换,它会在迭代过程中依次从dict中取出value,所以itervalues()方法比values()方法节省了生成list所需的内存。
3.打印itervalues()发现它返回一个对象,这说明在Python中,for循环可作用的迭代对象远不止list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。
任务
给定一个dict:
d={‘Adam':95,‘Lisa':85,‘Bart':59,‘Paul':74}
请计算所有同学的平均分。
d={'Adam':95,'Lisa':85,'Bart':59,'Paul':74} print sum=0.0 i=0 forsind.itervalues(): sum+=s i+=1 printsum/i #78.25
以上这篇Pythonvalues()与itervalues()的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。