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判断值是否在list或set中的性能对比分析到此结束。如果本文章对您有用,请点个赞支持再走呗,小编再次祝您生活愉快,期待您再次光临。

您可能有感兴趣的文章
Python自动化运维-使用Python脚本监控华为AR路由器关键路由变化

Python自动化运维-netmiko模块设备自动发现

Python自动化运维—netmiko模块连接并配置华为交换机

Python自动化运维-利用Python-netmiko模块备份设备配置

Python自动化运维-Paramiko模块和堡垒机实战