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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
跟老齐学Python之用while来循环
Oct 02 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
Python实现Linux的find命令实例分享
Jun 04 Python
django实现用户登陆功能详解
Dec 11 Python
使用matplotlib画散点图的方法
May 25 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
python多环境切换及pyenv使用过程详解
Sep 27 Python
Python list与NumPy array 区分详解
Nov 06 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
Aug 07 Python
python3 re返回形式总结
Nov 20 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制作静态网站的模板框架(二)
2006/10/09 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
JScript中的&quot;this&quot;关键字使用方式补充材料
2007/03/08 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
jQuery autocomplete插件修改
2009/04/17 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python 互换字典的键值对实例
2019/02/12 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
数学系个人求职信范文
2014/01/30 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
市级文明单位申报材料
2014/05/07 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书