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

yipeiwu_com6年前Python基础

本文实例对比分析了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程序设计有所帮助。

相关文章

Python变量赋值的秘密分享

Python变量赋值的秘密分享

在Python中,我们令一个变量等于另外一个变量时,并不是把值传递给它,而是直接把指向的地址更改了。我们想要查看一个变量在内存中的地址,可以通过id(变量) 来查看。我们通过一个小例子来...

Python isinstance函数介绍

isinstance(object, classinfo) 判断实例是否是这个类或者object object是变量   classinfo 是类型(tuple,d...

python处理图片之PIL模块简单使用方法

python处理图片之PIL模块简单使用方法

本文实例讲述了python处理图片之PIL模块简单使用方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python #encoding: utf-8...

python 表格打印代码实例解析

编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐。假定所有内层列表都包含同样数目的字符串。例如,该值可能看起来像这样: t...

在python image 中安装中文字体的实现方法

如果一些应用需要到中文字体(如果pygraphviz,不安装中文字体,中文会显示乱码),就要在image 中安装中文字体。 默认 python image 是不包含中文字体的: ma...