首页 > 编程 > Python > 正文

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

2020-01-04 17:32:22
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Python判断值是否在list或set中的性能对比分析,结合实例形式对比分析了使用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:     passfor i in xrange(0, 5000000):  if i in setA:     pass

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

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表