首选创建一个集合
1 | import random |
执行结果为:
1 | {2, 3, 4, 5, 7, 8, 10, -1, -9, -6, -5, -4, -2} |
现有一个需求, 需要此集合中筛选出可以被3整除的数字都有哪些, 以下给出四种实现方式
第一种方式: 循环迭代
1 | print(time.time()) |
执行结果为:
1 | 1500954512.77478 |
得到结果需要的时间为: 0.000042
第二种方式: filter 函数
1 | print('---') |
执行结果为:
1 | 1500954512.774839 |
得到结果需要的时间为: 0.000015
第三种方式: 集合解析式
1 | print(time.time()) |
执行结果为:
1 | 1500954512.774865 |
得到结果需要的时间为: 0.000020
第四种方式: 生成器表达式
1 | print(time.time()) |
执行结果为:
1 | 1500954512.774917 |
总结:
集合与之前的字典,列表一样, 要实现数据的筛选依然有四种选择, 小数据量下依然推荐使用集合解析式
, 大数据量的情况下推荐使用生成器表达式
或 filter 函数
(直接返回 filter 迭代对象, 而不直接使用 list 转换)