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之有点简约的元组
Sep 24 Python
从Python的源码来解析Python下的freeblock
May 11 Python
python下如何查询CS反恐精英的服务器信息
Jan 17 Python
python机器学习理论与实战(二)决策树
Jan 19 Python
python如何在列表、字典中筛选数据
Mar 19 Python
python如何实现视频转代码视频
Jun 17 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
Python hashlib模块的使用示例
Oct 09 Python
Python实现区域填充的示例代码
Feb 03 Python
Python OpenCV实现图形检测示例详解
Apr 08 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
smarty模板中拼接字符串的方法
2014/02/14 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
微信小程序实现动态获取元素宽高的方法分析
2018/12/10 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
酒店管理专业学生求职信
2013/09/27 职场文书
大学生求职简历的自我评价
2013/10/14 职场文书
项目资料员岗位职责
2013/12/10 职场文书
六十岁生日答谢词
2014/01/10 职场文书
演讲主持词
2014/03/18 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
Mysql基础知识点汇总
2021/05/26 MySQL