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 自动补全(vim)
Nov 30 Python
Python中for循环控制语句用法实例
Jun 02 Python
Python中的迭代器与生成器高级用法解析
Jun 28 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
Python imageio读取视频并进行编解码详解
Dec 10 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 Python
Python爬虫实战之爬取携程评论
Jun 02 Python
Django路由层如何获取正确的url
Jul 15 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 方便水印和缩略图的图形类
2009/05/21 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
python比较两个列表是否相等的方法
2015/07/28 Python
python基础知识小结之集合
2015/11/25 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
python 画图 图例自由定义方式
2020/04/17 Python
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
房地产还款计划书
2014/01/10 职场文书
公司办公室岗位职责
2014/03/19 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
公司保洁员岗位职责
2015/02/13 职场文书