python中iteritems,Python2中的dict.items()和dict.iteritems()有什么区别?

Are there any applicable differences between dict.items() and dict.iteritems()?

dict.items(): Return a copy of the dictionary’s list of (key, value) pairs.

dict.iteritems(): Return an iterator over the dictionary’s (key, value) pairs.

If I run the code below, each seems to return a reference to the same object. Are there any subtle differences that I am missing?

#!/usr/bin/python

d={1:'one',2:'two',3:'three'}

print 'd.items():'

for k,v in d.items():

if d[k] is v: print '\tthey are the same object'

else: print '\tthey are different'

print 'd.iteritems():'

for k,v in d.iteritems():

if d[k] is v: print '\tthey are the same object'

else: print '\tthey are different'

Output:

d.items():

they are the same object

they are the same object

they are the same object

d.iteritems():

they are the same object

they are the same object

they are the same object

解决方案

It's part of an evolution.

Originally, Python items() built a real list of tuples and returned that. That could potentially take a lot of extra memory.

Then, generators were introduced to the language in general, and that method was reimplemented as an iterator-generator method named iteritems(). The original remains for backwards compatibility.

One of Python 3’s changes is that items() now return iterators, and a list is never fully built. The iteritems() method is also gone, since items() in Python 3 works like viewitems() in Python 2.7.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go语言重新开始,Go Modules 的前世今生与基本使用

随着Go语言发展与场景变化, GOPATH 引起的编译依赖、内部自签发证书、安全审计等问题相继出现,随着官方推出的Go Modules逐渐完善,用户有了新的选择。本文将会带领大家从0开始,认识并使用Go Modules。 2020 年腾讯内部的一份开发者…

MaxCompute中如何通过logview诊断慢作业

简介: MaxCompute致力于批量结构化数据的存储和计算,提供海量数据仓库的解决方案及分析建模服务,在MaxCompute执行sql任务的时候有时候作业会很慢,本文通过查看logview排查具体任务慢的原因 在这里把任务跑的慢的问题划分为以下几…

dp线长什么样子_HDMI、VGA、DVI、DP接口知识,史上最全面最通俗易懂对比分析!...

如今,VGA接口已经慢慢淘汰,现在的显卡已经淘汰了VGA,都是DVI或者HDMI、DP接口。今天装机之家分享一下HDMI、VGA、DVI、DP接口知识,带你们更好的认识各类接口,来看看吧。HDMI:数字化视频/音频接口技术(480P,…

excel超级工具箱_这6个Excel高效办公插件,你都用过吗?

1.易用宝。ExcelHome出品,永久免费,让繁琐或难以实现的操作变得简单可行,甚至能够一键完成,所有这些功能都将极大地提升 Excel 的便捷以及可用性!地址:http://yyb.excelhome.net2.方方格子工具箱。大部分功…

Yurt-Tunnel 详解|如何解决 K8s 在云边协同下的运维监控挑战

简介: 伴随着 5G、IoT 等技术的快速发展,边缘计算被越来越广泛地应用于电信、媒体、运输、物流、农业、零售等行业和场景中,成为解决这些领域数据传输效率的关键方式。与此同时,边缘计算形态、规模、复杂度的日益增长,…

RTC风向标:11月最值得关注的26个热点

近年来,实时音视频快速发展,WebRTC作为实时音视频的标准也快速发展,从直播到通讯,其应用场景也在不断丰富。如果您关注实时音视频方向的技术产品应用与创新,本系列文章就将会为您分享音视频方向的技术产品动态&#xf…

克隆需要验证_[实验技巧]CRISPR实验中如何验证编辑?

在CRISPR/Cas9基因组编辑实验中,如果你已经构建好了gRNA表达载体,并利用Cas9将它引入了目标细胞,那么恭喜你!成功就在眼前,指日可待。下一步,你还要验证一下,看看细胞的编辑是否如你所愿。在此&…

基于边缘云的机器流量管理技术实战

简介: CDN是通过在全球范围内分布式地部署边缘服务器将各类互联网内容缓存到靠近用户的边缘服务器上,从而降低用户访问时延并大幅减少穿越互联网核心网的流量。互联网业务使用CDN已经成为一种必然的选择。 企业边缘应用面临的挑战 CDN是通过在全球范围…

python中的repr是什么意思_python中str和repr有什么区别

python中str和repr有什么区别?下面给大家详细介绍: 1、内建函数str()和repr() 或反引号操作符()可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。 2、str()函数得到的字符串可读性好(故被print调用&am…

Go语言入门分享

简介: Go语言出自Ken Thompson、Rob Pike和Robert Griesemer之手,起源于2007年,并在2009年正式对外发布。Go的主要目标是“兼具Python等动态语言的开发速度和C/C等编译型语言的性能与安全性”,旨在不损失应用程序性能的情况下降低…

瑞欧威尔联合创始人兼CEO 李波博士:“工业元宇宙”是为了更好赋能实体经济

2021年12月10日,由广东省游戏产业协会、广东省虚拟现实产业技术创新联盟、深圳市科学技术协会、深圳市互联网文化市场协会指导,陀螺科技主办,深圳市科技开发交流中心、恒悦创客魔方协办,行业头部媒体游戏陀螺、VR陀螺、陀螺电竞、…

加载模型图_Tensorflow ckpt模型加载时的命名映射

tensorflow代码在加载ckpt模型时一般会使用如下代码:saver tf.train.Saver() with tf.Session() as sess:saver.restore(sess, "model.ckpt")那么问题来了,如果想把开源的ckpt模型加载到自己代码里不同的变量命名空间中, 应该如何…

Flink + Iceberg + 对象存储,构建数据湖方案

简介: 上海站 Flink Meetup 分享内容,如何基于Flink、对象存储、Iceberg 来构建数据湖生态。 本文整理自 Dell 科技集团高级软件研发经理孙伟在 4 月 17 日 上海站 Flink Meetup 分享的《Iceberg 和对象存储构建数据湖方案》,文章内容为&…

fdisk 分区_【linux】循序渐进学运维-基础篇-分区命令fdisk

大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第47篇文章。本文我们来讨论一下fdisk命令的使用,使用fdisk可以做分区管理。1. 命令概述:fdisk 作用: 磁盘分区,是Linux发行版本中最常用的分区…

自动生成考勤表_可自动变色的考勤表,逢周末自动更新,你会制作吗?

员工考勤表对于许多职场HR来说,应该是再熟悉不过。一般情况下的考勤表都是按照月份进行统计,比如说11月分1-30号每天会对人员出勤情况进行登记。为了方便我们对表格的查看,我们经常会看到周末两天的单元格颜色会不同。如上图所示,…

通盘无妙手,恒生电子落子 Light 云,三大新品持续提升金融科技生产力

据普华永道《2020年与未来的金融服务技术:拥抱颠覆者》报告显示,全球 81% 银行 CEO 在众多领域中十分关注科技发展。在“无科技不金融”的趋势下,科技深度影响金融行业改革。 伴随云计算、大数据、人工智能、区块链等关键技术的发展&#xf…

实时数仓入门训练营:基于 Apache Flink + Hologres 的实时推荐系统架构解析

简介: 《实时数仓入门训练营》由阿里云研究员王峰、阿里云资深技术专家金晓军、阿里云高级产品专家刘一鸣等实时计算 Flink 版和 Hologres 的多名技术/产品一线专家齐上阵,合力搭建此次训练营的课程体系,精心打磨课程内容,直击当下…

c#日期转换周几_C#获取每个年,月,周的起始日期和结束日期的方法

这篇文章主要介绍了C#获取每个年,月,周的起始日期和结束日期的方法,涉及C#时间与日期基本操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了C#获取每个年,月,周的起始日期和结束日期的方法。分享给大家供大家参考,具体如下:我们在写程序…

python多线程操作字典_在Python中使用带有线程的全局字典

Dirk.. 52 假设CPython:是的,不是.从多个并发读/写请求不会破坏字典的意义上来说,从共享字典中获取/存储值实际上是安全的.这是由于实现维护的全局解释器锁("GIL").那是: 线程A运行: a global_dict["foo"] 线程B运行: global_dict["bar"] &quo…

沙盒化容器:是容器还是虚拟机

作者 | Addo Zhang来源 | 云原生指北随着 IT 技术的发展,AI、区块链和大数据等技术提升了对应用毫秒级扩展的需求,开发人员也面临着的功能快速推出的压力。混合云是新常态,数字化转型是保持竞争力的必要条件,虚拟化成为这些挑战的…