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实现的ini文件操作类分享
Nov 20 Python
Python MySQLdb Linux下安装笔记
May 09 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
python实现多层感知器MLP(基于双月数据集)
Jan 18 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
如何解决python多种版本冲突问题
Oct 13 Python
python 6种方法实现单例模式
Dec 15 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 Python
Python初学者必备的文件读写指南
Jun 23 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+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
canvas实现钟表效果
2017/02/13 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
Python下rrdtool模块的基本使用方法
2015/11/13 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python通过http下载文件的方法详解
2019/07/26 Python
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
2020/11/16 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
关于毕业的广播稿
2014/01/10 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
经典演讲稿汇总
2014/05/19 职场文书
庆祝国庆节标语
2014/10/09 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js