笔记

万物寻其根,通其堵,便能解其困。
  博客园  :: 新随笔  :: 管理

比较字典推导式/dict()/通过键来构造的字典的速率 笔记

Posted on 2018-11-16 00:26  草妖  阅读(206)  评论(0)    收藏  举报

# 下面结果执行一次不容易出差距,所以都执行100000次

import time
dict1 = {'a':1, 'b':2, 'c':3, 'd':4}

 

# 第一种:字典推导式

start_time = time.time()
for i in range(100000):
d1 = {key:value for key,value in dict1.items() if value>2}
print('运行时间: {}'.format(time.time() - start_time))
print('d1: {}'.format(d1))

 

# 第二种:dict()

start_time = time.time()
for i in range(100000):
d2 = dict((key,value) for key,value in dict1.items() if value>2)
print('运行时间: {}'.format(time.time() - start_time))
print('d2: {}'.format(d2))

 

# 第三种:通过键值来构建

start_time = time.time()
for i in range(100000):
d3 = {key:dict1[key] for key in dict1.keys() if dict1[key]>2}
print('运行时间: {}'.format(time.time() - start_time))
print('d3: {}'.format(d3))

 

下面是输出结果:

"""
D:\笔记\python电子书\Python3>python index.py
运行时间: 0.15999984741210938
d1: {'c': 3, 'd': 4}
运行时间: 0.2700002193450928
d2: {'c': 3, 'd': 4}
运行时间: 0.18000006675720215
d3: {'c': 3, 'd': 4}
"""