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中查找效率的对比分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python饼状图的绘制实例

    Python饼状图的绘制实例

    今天小编就为大家分享一篇关于Python饼状图的绘制实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Linux系统中设置Python程序开机启动的两种方式

    Linux系统中设置Python程序开机启动的两种方式

    在 Linux 系统中设置Python 脚本开机启动,通常可以通过以下几种方式实现, 使用 systemd(推荐方式)和使用 crontab(对于简单任务),文章通过代码示例给大家讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • Python中Numpy mat的使用详解

    Python中Numpy mat的使用详解

    这篇文章主要介绍了Python中Numpy mat的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • django url到views参数传递的实例

    django url到views参数传递的实例

    今天小编就为大家分享一篇django url到views参数传递的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python绘制地理图表可视化神器pyecharts

    Python绘制地理图表可视化神器pyecharts

    这篇文章主要介绍了Python绘制地理图表可视化神器pyecharts,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • python中split()函数的用法详解

    python中split()函数的用法详解

    Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串,这篇文章主要介绍了python中split()函数的用法详解,需要的朋友可以参考下
    2023-01-01
  • 解决python中显示图片的plt.imshow plt.show()内存泄漏问题

    解决python中显示图片的plt.imshow plt.show()内存泄漏问题

    这篇文章主要介绍了解决python中显示图片的plt.imshow plt.show()内存泄漏问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 详解python实现数据归一化处理的方式:(0,1)标准化

    详解python实现数据归一化处理的方式:(0,1)标准化

    这篇文章主要介绍了详解python实现数据归一化处理的方式:(0,1)标准化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python转换时间的图文方法

    Python转换时间的图文方法

    在本篇文章里小编给大家整理的是关于Python转换时间的方法以及具体步骤流程,需要的朋友们参考下。
    2019-07-07
  • Python基础之pandas数据合并

    Python基础之pandas数据合并

    这篇文章主要介绍了Python基础之pandas数据合并,文中有非常详细的代码示例,对正在学习python基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04

最新评论