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有多少流量多么低的权重,垃圾评论都会自动找上门来,假如有好几天没有 ...
随机推荐
- adb push和pull使用
1.运行cmd> 进入adb.exe目录 2.>adb connect ip 3.>adb remount 4.>adb push 本地apk全路径 /system/app/ ...
- java中的包以及内部类的介绍
1:形式参数和返回值的问题(理解) (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返 ...
- C/C++语言 预处理小结
预处理功能主要包括宏定义,文件包含,条件编译三部分.分别对应宏定义命令,文件包含命令,条件编译命令三部分实现. 预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换.预处理 ...
- Linux的find命令
使用find命令,可以指定问及那的名称.类别.时间.大小以及权限等,来查找出你想要的文件 语法: fiind [路径] [参数] [-print] 参数详解: 1.-name 按照文件名查找文件 ...
- Binary Tree Inorder Traversal -- LeetCode 94
Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...
- YMMI001-采购单审批
************************************************************************ Report : YMMI1 ** Applicati ...
- LintCode Count 1 in Binary
知识点 1. 整数的二进制表示法 2. 十进制和二进制的转换 http://baike.baidu.com/view/1426817.htm 3. 负整数的表示(原码,补码,反码) http://ww ...
- ajax上传图片到服务器
通过Ajax方式上传文件,使用FormData进行Ajax请求.上传文件或图片时,要求的格式为enctype ="multipart/form-data"(以二进制格式上传),在使 ...
- RouteArea中AreaPrefix(Area 前缀)的使用
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Error:Execution failed for task ':app:transformClassesWithInstantRunForDebug'. > java.lang.ClassNotFoundException: io.realm.RealmObject
这问题错误是在运行时出现的,A-Jiang大神有说明解决方法,大神网址:https://github.com/AndroidJiang/StockChart 如果是as2.0+,可能会出现instan ...