python 中 五种字典(dict)的遍历方法,实验法比较性能。
1 、背景:
想知道5种遍历方法,并且知道从性能角度考虑,使用哪种。
2、结论:
使用这种方式:
for key,val in AutoDict.iteritems():
temp = "%s:%s" % (key,val)
不用这种方式:
for (key,val) in AutoDict.items():
temp = "%s:%s" % (key,val)
实验:
import time
def testDict():
count = 1000000
AutoDict = {}
for i in xrange(count):
AutoDict[i] = i
startTime = time.time()
for d in AutoDict:
temp = "%s:%s" % (d,AutoDict[d])
#method 1
print 'span time 1 :%s' % str(time.time()-startTime)
startTime = time.time()
for (key,val) in AutoDict.items():
temp = "%s:%s" % (key,val)
#method 2
print 'span time 2 :%s' % str(time.time()-startTime)
startTime = time.time()
for key,val in AutoDict.iteritems():
temp = "%s:%s" % (key,val)
#method 3
print 'span time 3 :%s' %str(time.time()-startTime)
startTime = time.time()
for key in AutoDict.iterkeys():
temp = "%s:%s" %(key,AutoDict[key])
#method 4
print 'span time 4 :%s' %str(time.time()-startTime)
startTime = time.time()
for key,val in zip(AutoDict.iterkeys(),AutoDict.itervalues()):
temp = "%s:%s" %(key,val)
#method 5
print 'span time 5 :%s' %str(time.time()-startTime) testDict()
多次实验的平均值:
span time 1 :0.206
span time 2 :0.508
span time 3 :0.195
span time 4 :0.205
span time 5 :0.307
python 中 五种字典(dict)的遍历方法,实验法比较性能。的更多相关文章
- 二、python 中五种常用的数据类型
一.字符串 单引号定义: str1 = 'hello' 双引号定义: str1 = "hello" 三引号定义:""" 人生苦短, 我用python! ...
- Python中常见的字典dict处理
#字典的赋值d = [{"dasda": 123, "gsgsg": 3344}, {"dasdz": 123, "gsksg&q ...
- Python中3种内建数据结构:列表、元组和字典
Python中3种内建数据结构:列表.元组和字典 Python中有3种内建的数据结构:列表.元组和字典.参考简明Python教程 1. 列表 list是处理一组有序项目的数据结构,即你可以在一个列表中 ...
- python调用数据返回字典dict数据的现象2
python调用数据返回字典dict数据的现象2 思考: 话题1连接:https://www.cnblogs.com/zwgbk/p/10248479.html在打印和添加时候加上内存地址id(),可 ...
- python调用数据返回字典dict数据的现象1
python调用数据返回字典dict数据的现象1 思考: 可以看到这两种情况,区别在于构造函数make()里赋值给字典dict的方式不同.使用相同的调用方式,而结果却完全不同.可以看到第二种情况才是我 ...
- Python中的list,tuple,dict和set
List list的创建与检索 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 构造list非常简单,直接用 [ ] 把list的所有元素都括 ...
- Python 中当前位置以及目录文件遍历操作
Python 中当前位置以及目录文件遍历操作 当前位置 print(os.path.dirname(__file__)) 其中 dirname 会选择目录(文件夹),"__file__&qu ...
- python中readline判断文件读取结束的方法
注:内容来自网络 本文实例讲述了python中readline判断文件读取结束的方法.分享给大家供大家参考.具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍 ...
- 五种WordPress防止垃圾评论方法-过滤垃圾评论提高WP运行效率
WordPress貌似和垃圾评论是一对“孪生兄弟”,无论在国内还是国外的空间主机上搭建的Wordpress博客,无论Wordpress有多少流量多么低的权重,垃圾评论都会自动找上门来,假如有好几天没有 ...
随机推荐
- Xcode真机测试could not find developer disk image解决方法(支持iOS9.2)
这个问题开发者经常碰到,因为当我们更新手机iOS版本的时候,可能我们开发人员因为项目的需要等原因并一定愿意更新xcode到最新版本.但是老版本的xcode极有可能不支持最新的iOS版本,也有一些旧的i ...
- easyui js基础
$(document).ready( function(){ initload(); });function initConfig(){ //数据列表 yzfymx=$("#tjdj&quo ...
- 2016 - 1- 23 iOS中xml解析 (!!!!!!!有坑要解决!!!!!!)
一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: D ...
- Spring利器之包扫描器
在学习Spring这门技术中为了大大减少applicationContext.xml配置的代码量于是有了包扫描器. 闲话不多说我们马上来实现一下吧 示例架构如下: 第一步我们先来修改我们的配置appl ...
- Warning: Attempt to dismiss from view controller <UIViewController: 0x17d71c10> while a presentation or dismiss is in progress!
昨天 调试程序 已经快要上线了 突然有个BUG 找了半天 才找到是因为这个警告 但是 解决这个警告又花了一天的时间 试了各种消除控制器的方法 都不可用 其中 并且 有这个bug 手机真机测试完全没问 ...
- Android FM模块学习之四源码学习(2)
前几章我们分析了FM模块的几个主要的类文件,今天要分析的是:FMTransceiver.java // 某些工程中名称为FMRadioService.java public class FmTra ...
- raw_input 和input的区别
input它会根据用户输入变换相应的类型, raw_input则是不管用户输入什么类型的都会转变成字符型.
- jquery dataTables.min.js API
demo: http://datatables.net/release-datatables/examples/api/select_single_row.html 选择一行http://datata ...
- Opencv读取视频
CvCapture 是一个结构体,用来保存图像捕获所需要的信息. opencv提供两种方式从外部捕获图像 一种是从摄像头中, 一种是通过解码视频得到图像. 两种方式都必须从第一帧开始一帧一帧的按顺序获 ...
- Ogre1.6.5 编译链接错误之FreeImage
这两天想重新学习下ogre,但是在vs2010上编译1.6.5的版本上遇到链接失败的问题,耗了不少时间这里记一下. 主要是一些重定义报错. >msvcprtd.lib(MSVCP100D.dll ...