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聊天室带界面实现的示例代码(tkinter,Mysql,Treading,socket)

    Python聊天室带界面实现的示例代码(tkinter,Mysql,Treading,socket)

    这篇文章主要介绍了Python聊天室带界面实现的示例代码(tkinter,Mysql,Treading,socket),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python imutils 填充图片周边为黑色的实现

    Python imutils 填充图片周边为黑色的实现

    今天小编就为大家分享一篇Python imutils 填充图片周边为黑色的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例

    用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例

    下面小编就为大家分享一篇用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧
    2017-12-12
  • 解决Python获取文件提示找不到指定路径can‘t open file 'area.py':[Errno 2] No such file or directory

    解决Python获取文件提示找不到指定路径can‘t open file 'area.py':

    这篇文章主要给大家介绍了关于如何解决Python获取文件提示找不到指定路径can‘t open file 'area.py':[Errno 2] No such file or directory的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 使用python删除PDF文档页面注释的代码示例

    使用python删除PDF文档页面注释的代码示例

    PDF文档因其跨平台的兼容性和格式稳定性而备受青睐,然而,随着文档在不同用户间的流转,累积的注释可能会变得杂乱无章,因此,适时地移除PDF文档中的注释非常重要,所以本文将演示如何使用Python来删除PDF文档页面的注释,需要的朋友可以参考下
    2024-08-08
  • Django框架视图函数设计示例

    Django框架视图函数设计示例

    这篇文章主要介绍了Django框架视图函数设计,结合实例形式分析了Django框架视图函数处理流程、原理与相关操作注意事项,需要的朋友可以参考下
    2019-07-07
  • Python性能分析工具Profile使用实例

    Python性能分析工具Profile使用实例

    这篇文章主要介绍了Python性能分析工具Profile使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Django Rest Framework构建API的实现示例

    Django Rest Framework构建API的实现示例

    本文主要介绍了Django Rest Framework构建API的实现示例,包含环境设置、数据序列化、视图与路由配置、安全性和权限设置、以及测试和文档生成这几个步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • Python matplotlib plotly绘制图表详解

    Python matplotlib plotly绘制图表详解

    plotly本身是个生态非常复杂的绘图工具,它对很多编程语言提供接口。交互式和美观易用应该是 Plotly 最大的优势,而 Matplotlib 的特点则是可定制化程度高,但语法也相对难学,各有优缺点。本文将通过示例详细讲解二者是如何绘制图表的,需要的可以参考一下
    2022-03-03
  • Py之pycocotools库的简介、安装、使用方法及说明

    Py之pycocotools库的简介、安装、使用方法及说明

    这篇文章主要介绍了Py之pycocotools库的简介、安装、使用方法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论