Python list与set在创建与搜索上的时间对比

环境:
Python list与set在创建与搜索上的时间对比
Python list与set在创建与搜索上的时间对比
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要具体情况具体分析