python判断值是否在list或set中的性能对比分析

本文实例对比分析了python判断值是否在list或set中的执行性能。分享给大家供大家参考,具体如下:

判断值是否在set集合中的速度明显要比list快的多, 因为查找set用到了hash,时间在o(1)级别。

假设lista有100w个元素,seta=set(lista)即seta为lista转换之后的集合。
以下做个简单的对比:

for i in xrange(0, 5000000):
if i in lista:
pass
for i in xrange(0, 5000000):
if i in seta:
pass

第一个循环用了16min,第二个循环用了52s。 由此可见,在set中判断是否存在某值的效率要高的多。

况且,从list转为set,并不会花什么时间。

更多关于python相关内容感兴趣的读者可查看本站专题:《python函数使用技巧总结》、《python字符串操作技巧汇总》、《python入门与进阶经典教程》及《python文件与目录操作技巧汇总》

希望本文所述对大家python程序设计有所帮助。

Posted in 未分类

发表评论