python中in在list和dict中查找效率的对比分析

 更新时间:2018年05月04日 15:34:52   转载 作者:wanzer316  
今天小编就为大家分享一篇python中in在list和dict中查找效率的对比分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

首先给一个简单的例子,测测list和dict查找的时间:

import time
query_lst = [-60000,-6000,-600,-60,-6,0,6,60,600,6000,60000]
lst = []
dic = {}
for i in range(100000000):
 lst.append(i)
 dic[i] = 1 
start = time.time()
for v in query_lst:
 if v in lst:
  continue
end1 = time.time()
for v in query_lst:
 if v in dic:
  continue
end2 = time.time()
print "list search time : %f"%(end1-start)
print "dict search time : %f"%(end2-end1)

运行结果:

list search time : 11.836798 
dict search time : 0.000007

通过上例我们可以看到list的查找效率远远低于dict的效率,原因如下:

python中list对象的存储结构采用的是线性表,因此其查询复杂度为O(n),而dict对象的存储结构采用的是散列表(hash表),其在最优情况下查询复杂度为O(1)。

以上这篇python中in在list和dict中查找效率的对比分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • tensorflow的计算图总结

    tensorflow的计算图总结

    这篇文章主要介绍了tensorflow的计算图总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 一百多行python代码实现抢票助手

    一百多行python代码实现抢票助手

    一百多行python代码轻松实现抢票助手,十一出行不再愁!本文具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python交互式图形编程实例(三)

    python交互式图形编程实例(三)

    这篇文章主要为大家详细介绍了python交互式图形编程实例第三篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Python 取numpy数组的某几行某几列方法

    Python 取numpy数组的某几行某几列方法

    这篇文章主要介绍了Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 对Django中static(静态)文件详解以及{% static %}标签的使用方法

    对Django中static(静态)文件详解以及{% static %}标签的使用方法

    今天小编就为大家分享一篇对Django中static(静态)文件详解以及{% static %}标签的使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实现TCP协议下的端口映射功能的脚本程序示例

    Python实现TCP协议下的端口映射功能的脚本程序示例

    端口映射一个最基本的运作形态就是通过一个中间端口将一个端口发送的数据全部转给另一个端口,well,这里我们就来看一下Python实现TCP协议下的端口映射功能的脚本程序示例
    2016-06-06
  • Django框架下在视图中使用模版的方法

    Django框架下在视图中使用模版的方法

    这篇文章主要介绍了Django框架下在视图中使用模版的方法,Django是Python丰富多彩的众框架中最有人气的一个,需要的朋友可以参考下
    2015-07-07
  • python监控键盘输入实例代码

    python监控键盘输入实例代码

    这篇文章主要介绍了python监控键盘输入实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 用TensorFlow实现多类支持向量机的示例代码

    用TensorFlow实现多类支持向量机的示例代码

    这篇文章主要介绍了用TensorFlow实现多类支持向量机的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 如何利用Python开发一个简单的猜数字游戏

    如何利用Python开发一个简单的猜数字游戏

    这篇文章主要给大家介绍了关于如何利用Python开发一个简单的猜数字游戏的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09

最新评论