首先创建一个字典
1 | import random |
执行结果为:
1 | {'16': 61, '3': 66, '17': 70, '10': 82, '1': 71, '18': 89, '5': 83, '4': 97, '19': 77, '12': 92, '8': 73, '11': 74, '15': 60, '13': 68, '20': 80, '7': 62, '2': 99, '6': 85, '14': 83, '9': 87} |
现有一个需求, 需要此列表中筛选出值大于90的 id(key) 都有哪些, 以下给出四种实现方式
第一种方法: 循环迭代
1 | print(time.time()) |
执行结果为:
1 | 1500951937.126503 |
得到结果需要的时间为: 0.000029
第二种方法: filter 函数
1 | print(time.time()) |
执行结果为:
1 | 1500951937.126604 |
得到结果需要的时间为: 0.000014
第三种方法: 字典解析式
1 | print(time.time()) |
执行结果为:
1 | 1500951937.126555 |
得到结果需要的时间为: 0.000009
第四种方法: 生成器表达式
1 | print(time.time()) |
执行结果为:
1 | 1500951937.126576 |
得到结果需要的时间为: 0.000005
总结:
在字典数据量较小时, 依然推荐使用字典解析式
去筛选数据, 在数据量较大且数据需要一条一条处理时, 生成器依然是最佳的选择