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 相关文章推荐
Python2.x版本中maketrans()方法的使用介绍
May 19 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
Python中join函数简单代码示例
Jan 09 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
详解django2中关于时间处理策略
Mar 06 Python
python文件转为exe文件的方法及用法详解
Jul 08 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 Python
python模拟点击在ios中实现的实例讲解
Nov 26 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 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
PHP循环结构实例讲解
2014/02/10 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
php操作mongoDB实例分析
2014/12/29 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
php接口隔离原则实例分析
2019/11/11 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
校长岗位职责
2013/11/26 职场文书
迟到检讨书5000字
2014/01/31 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书