Python list与set在创建与搜索上的时间对比
环境:
分别取30, 300,3000, 30000, 300000, 3000000, 30000000, 300000000长度进行对比
长度 | list(创建时间,搜索时间) | set(创建时间,搜索时间) |
---|---|---|
30 | 0.42, 0.41 | 0.40, 0.43 |
300 | 0.243, 0.260 | 0.221, 0.60 |
3000 | 0.68, 0.66 | 0.233, 0.40 |
30000 | 0.1386, 0.277 | 0.2431, 0.42 |
300000 | 0.2597, 0.2438 | 0.4707, 0.42 |
3000000 | 0.62955, 0.53431 | 0.112626, 0.44 |
30000000 | 0.433379, 0.236980 | 1.30848, 0.42 |
300000000 | 3.794385, 2.346075 | 9.13915, 0.42 |
可以看到,list在创建时耗时不多,但由于搜索采用线性扫描的方式,在数据量非常大的时候耗时就会非常明显;而set在创建时需要创建哈希表,带来一定时间消耗,但好处是在进行搜索时速度几乎不受长度增加的影响。
使用list还是set要具体情况具体分析