Python values()与itervalues()的用法详解


Posted in Python onNovember 27, 2019

dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print d.values()
# [85, 95, 59]
for v in d.values():
  print v
# 85
# 95
# 59

如果仔细阅读Python的文档,还可以发现,dict除了values()方法外,还有一个 itervalues() 方法,用 itervalues() 方法替代 values() 方法,迭代效果完全一样:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print d.itervalues()
# <dictionary-valueiterator object at 0x106adbb50>
for v in d.itervalues():
  print v
# 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
for s in d.itervalues():
  sum += s
  i += 1
print sum/i
#78.25

以上这篇Python values()与itervalues()的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现博客文章爬虫示例
Feb 26 Python
Python与shell的3种交互方式介绍
Apr 11 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
Python并行分布式框架Celery详解
Oct 15 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
Django 拆分model和view的实现方法
Aug 16 Python
在Matplotlib图中插入LaTex公式实例
Apr 17 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
Python 随机按键模拟2小时
Dec 30 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 #Python
对python中assert、isinstance的用法详解
Nov 27 #Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 #Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 #Python
python利用dlib获取人脸的68个landmark
Nov 27 #Python
python随机数分布random均匀分布实例
Nov 27 #Python
python取均匀不重复的随机数方式
Nov 27 #Python
You might like
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
layui添加动态菜单与选项卡
2019/07/26 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
pycharm安装图文教程
2017/05/02 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
Python内置函数reversed()用法分析
2018/03/20 Python
详解django三种文件下载方式
2018/04/06 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
python numpy数组复制使用实例解析
2020/01/10 Python
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
中学生获奖感言
2014/02/04 职场文书
入职担保书范文
2014/05/21 职场文书
创文明城市标语
2014/06/16 职场文书
农行心得体会
2014/09/02 职场文书
十八大宣传标语
2014/10/09 职场文书
人事局接收函
2015/01/30 职场文书
慰问信格式
2015/02/14 职场文书
评职称个人总结
2015/03/05 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python