python dict遍历_python 字典(dict)遍历的四种方法性能测试报告

python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试

l = [(x,x) for x in xrange(10000)]

d = dict(l)

from time import clock

t0=clock()

for i in d:

t = i + d[i]

t1=clock()

for k,v in d.items():

t = k + v

t2=clock()

for k,v in d.iteritems():

t = k + v

t3=clock()

for k,v in zip(d.iterkeys(),d.itervalues()):

t = k + v

t4=clock()

print t1-t0, t2-t1, t3-t2, t4-t3

将这段脚本运行5次,结果如下:

python test.py

0.00184039735833 0.00326492977712 0.00214993552657 0.00311549755797

python test.py

0.00182356570728 0.00339342506446 0.00234863111466 0.00321566640817

python test.py

0.00185107108827 0.00324563495762 0.00211175641563 0.00313479237748

python test.py

0.0018215130669 0.00320950848705 0.00215814608806 0.00322798225041

python test.py

0.00216635664955 0.00391807994377 0.00207604047314 0.00322757172233

显然第一种方法效率最高,第三种方法略差一点但相差无几,方法二四性能就差得多

不过实际的差别不是太大,不必过于纠结

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

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

相关文章

sqlplus连mysql库_sqlplus连接数据库

sqlplus连接到远程数据库我一直以为sqlplus是服务器端的软件,今天我才知道sqlplus是客户端软件,用sqlplus也能连接到远程数据库。windows下具体连接方法如下:如果已经配置过tnsname方法一.在运行或者命令窗口里面先输入sqlplus/n...文章张振磊…

OpenGL ES入门

OpenGL ES渲染管线概述 渲染管线一般是由显示芯片GPU内部处理图形信号的并行处理单元组成,这些并行处理单元之间是独立的,从另一个角度看,渲染管线实际上也是一系列绘制过程,这一系列过程的输入是待绘制物体的相关描述信息&#x…

【前沿】MIT搞了个进取型机器人!能研究学习对象操纵的基础

来源:中国机器人网 前言:MIT的研究让数据有了机器人的方向麻省理工学院的研究人员已经汇编了一个数据集,该数据集捕获了物理上推动数百个不同对象的机器人系统的详细行为。研究人员可以使用数据集(同类中规模最大,种类…

java进度条_自学java你需要知道的,适合编程小白

1. java学习网站之前在很多学习网站上学习过Java,踩过很多坑,今天给大家推荐一个比较好用的Java学习网站,希望大家能少踩坑Java教程 | 项目实践一站式java学习这个网站的针对性强,如果你是想学习Java,在这个网站学习就…

软考考前冲刺第一章计算机硬件基础知识

1.原码表示法和补码表示法是计算机中用于表示数据的两种编码方法,在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计。 在计算机中,各类运算都可以采用补码进行,特别是对于有符号数的运算。在…

既然使用神经网络也可以解决分类问题,那SVM、决策树这些算法还有什么意义呢?...

来源:Jerry的算法和NLPJerry的算法和NLP先说下结论:没有一个模型是万能的,需要根据数据选择适合的模型。在机器学习中,数据大概可以分成四大类:图像 (Image),序列(Sequence),图(Graph) 和表格(T…

python解包的概念_Python学习第176课——tar解包和压缩

上节我们学习了tar命令打包和查看tar文件中的内容,这节我们继续熟悉tar解包以及其他操作。上节我们把桌面上的linux文件夹里面的东西打了一个包,打包后的文件也在桌面上,叫tar_linux.tar。●tar解包现在我们把tar_linux.tar这个打包文件进行解…

chardet java_java实现文件编码监测

java实现文件编码监测最近在做一个文档的翻译项目,可文档的编码不知道,听头疼的。尝试了很多方法最后发现JCharDet这个工具可以轻松解决这个问题。于是作此笔记希望日后提醒自己以及帮助又需要的人。package com.uujava.mbfy.test;import java.io.Buffer…

使用python处理子域名爆破工具subdomainsbrute结果txt

近期学习了一段时间python,结合自己的安全从业经验,越来越感觉到安全测试是一个体力活。如果没有良好的coding能力去自动化的话,无疑会把安全测试效率变得很低。 作为安全测试而言,第一步往往要通过爆破目标站的一级域名开始。作为…

美陆军将在2020年军演中测试人工智能新应用

▲美陆军利用人工智能技术探测隐藏的目标,例如这辆伪装的M109A6自行榴弹炮来源: 美国《防务快讯》/图片来自互联网 编者按美陆军人工智能工作组负责人表示,陆军已开发出可检测“侦察照片”中隐藏目标的人工智能技术,并将在明年举行…

python 同时发多个请求_PythonWebServer如何同时处理多个请求

源于知乎上一个问题:https://www.zhihu.com/question/56472691/answer/293292349对于初学Web开发,理解一个web server如何能同事处理多个请求很重要。当然更重要的是,理解你通过浏览器发送的请求web server是怎么处理的,然后怎么返…

java关于hashmap编程题_LeetCode算法题-Design HashMap(Java实现)

这是悦乐书的第299次更新,第318篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第167题(顺位题号是706)。在不使用任何内置哈希表库的情况下设计HashMap。具体而言,你的设计应包括以下功能:put(key,value)&#xff1a…

Nature:1000种植物的测序揭示10亿年来的进化

来源:生物通千种植物转录组计划(1,000 Plants Project,1KP)是由加拿大科学家在2008年11月发起的,召集了将近200名植物学家对1,100多种植物的基因进行测序和分析。如今,这个项目的研究成果发表在《Nature》杂…

CodeForces 688B - Lovely Palindromes(思路)

题意&#xff1a;输出第n&#xff08;1 < n < 10^100000&#xff09;大的偶数长度的回文数。&#xff08;最小的为11&#xff09; 因为长度是偶数&#xff0c;所以前后两半之间是相互对称的&#xff0c;又因为一个数字的大小主要取决于较高位数的大小&#xff0c;所以数字…

python 查询sqlserver 视图_SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例)...

原标题&#xff1a;SQL Server 2017 数据库教与学(教学大纲&#xff0c;含PythonSQL Server案例)本书提供PythonSQL Server案例SQL Server教学大纲一、课程的性质和教学目的课程性质&#xff1a;数据库技术是各类信息系统、管理系统的基础。SQL Server数据库是微软公司的一款数…

java 通过反射得到命名空间_利用反射得到一个命名空间下的所有类,并调用?...

当年话下Assembly.LoadFrom("assemblyName").GetTypes();Assembly.Load("assemblyName").GetTypes();遍历&#xff0c; 再通过Type.GetInterface(""),如果结果不为null&#xff0c;那就说明找到了再Activator.CreateInstance(“”)即可还是写段代…

量子霸权之争

来源&#xff1a; 原理这一个月以来&#xff0c;量子计算机领域吸引了许多人的关注&#xff0c;因为关于谷歌已经实现了人们期待已久的里程碑——“量子霸权”&#xff08;也被称为”量子优越性“&#xff09;的消息不胫而走。“量子霸权”是加州理工学院的理论物理学家John Pr…

Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php )...

Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php ) 1.1. 这些流氓软件使用操作系统os提供的普通api根本就杀不掉啊1 1.2. 使用他们自己的api 或者cli接口来关闭1 1.3. 通过gui接口杀进程&#xff1a;&#xff1a;1 1.4. 首先&#xff0c;调用g…

主成分分析法案例_因子分析案例及操作解析

分析一个省的科技创新能力受哪些潜在因素的影响&#xff1f;&#xff08;本数据来源于网络收集&#xff0c;x1~x15代表各省市相关经济指标&#xff09;第一步&#xff1a;数据输入&#xff08;如下图&#xff09;第二步&#xff1a;操作步骤&#xff1a;分析——降维——因子分…

date js 半年_js Date 日期使用上的一个坑

作者&#xff1a;坚强一点链接&#xff1a;https://zhuanlan.zhihu.com/p/22253858来源&#xff1a;知乎著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。在写js 日历插件的时候遇到一个奇怪的情况。日历当前的日期是 2016-08-31 号 用 js Da…