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抓取豆瓣图片并自动保存示例学习
Jan 10 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
Jul 17 Python
简单实现Python爬取网络图片
Apr 01 Python
Linux下python3.7.0安装教程
Jul 30 Python
Python3实现的判断环形链表算法示例
Mar 07 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
Apr 24 Python
Django怎么在admin后台注册数据库表
Nov 14 Python
解决python3输入的坑——input()
Dec 05 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
python上下文管理的使用场景实例讲解
Mar 03 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/03/16 PHP
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
php类中private属性继承问题分析
2012/11/01 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
用JS控制回车事件的代码
2011/02/20 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
Python列表(list)常用操作方法小结
2015/02/02 Python
python实现log日志的示例代码
2018/04/28 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
python list转矩阵的实例讲解
2018/08/04 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
python 高阶函数简单介绍
2021/02/19 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
学生个人自我鉴定范文
2014/03/28 职场文书
高三学生评语大全
2014/04/25 职场文书
工作目标责任书
2014/07/23 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2014最新自愿离婚协议书范本
2014/11/19 职场文书
2015国庆节宣传语
2015/07/14 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
详解redis在微服务领域的贡献
2021/10/16 Redis