# 下面结果执行一次不容易出差距,所以都执行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} """