Python values()与itervalues()的用法详解

 更新时间:2019年11月27日 15:19:13   作者:majinbo111  
今天小编就为大家分享一篇Python values()与itervalues()的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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()的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • Django自定义认证方式用法示例

    Django自定义认证方式用法示例

    这篇文章主要介绍了Django自定义认证方式用法,结合实例形式分析了Django自定义认证的创建、设置及功能实现技巧,需要的朋友可以参考下
    2017-06-06
  • 解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题

    解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题

    这篇文章主要介绍了解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 使用Pandas实现MySQL窗口函数的解决方法

    使用Pandas实现MySQL窗口函数的解决方法

    本文主要介绍 MySQL 中的窗口函数row_number()、lead()/lag()、rank()/dense_rank()、first_value()、count()、sum()如何使用pandas实现,同时二者又有什么区别,感兴趣的朋友一起看看吧
    2023-02-02
  • 基于CUDA out of memory的一种神奇解决方式

    基于CUDA out of memory的一种神奇解决方式

    这篇文章主要介绍了基于CUDA out of memory的一种神奇解决方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python中的xlrd模块使用整理

    Python中的xlrd模块使用整理

    今天给大家带来的文章是关于Python的相关知识,文章围绕着xlrd模块的使用展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • 解决keras backend 越跑越慢问题

    解决keras backend 越跑越慢问题

    这篇文章主要介绍了解决keras backend 越跑越慢问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python循环神经网络RNN函数tf.nn.dynamic_rnn使用

    python循环神经网络RNN函数tf.nn.dynamic_rnn使用

    这篇文章主要为大家介绍了python循环神经网络RNN的tf.nn.dynamic_rnn使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python函数isalnum用法示例小结

    Python函数isalnum用法示例小结

    isalnum()函数是Python中的一个内置函数,用于判断字符串是否只由数字和字母组成,其内部实现原理比较简单,只需遍历字符串中的每一个字符即可,这篇文章主要介绍了Python函数isalnum用法介绍,需要的朋友可以参考下
    2024-01-01
  • Python实现抓取网页生成Excel文件的方法示例

    Python实现抓取网页生成Excel文件的方法示例

    这篇文章主要介绍了Python实现抓取网页生成Excel文件的方法,涉及PyQuery模块的使用及Excel文件相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Python3爬虫教程之利用Python实现发送天气预报邮件

    Python3爬虫教程之利用Python实现发送天气预报邮件

    这篇文章主要给大家介绍了关于Python3爬虫教程之利用Python实现发送天气预报邮件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12

最新评论