- # 下面结果执行一次不容易出差距, 所以都执行 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}
"""
来源: http://www.bubuko.com/infodetail-2848840.html