首先给一个简单的例子,测测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 中list ,set,dict的大规模查找效率对比详解,包括了Python 中list ,set,dict的大规模查找效率对比详解的使用技巧和注意事项,需要的朋友参考一下 很多时候我们可能要频繁的进行元素的find 或in操作,本人一直天真的以为python的list做了hash,通过红黑树来高效查找···直到今天我真正来测试它和set,dict的查找效率时,才发现自已
本文向大家介绍浅谈二分法查找和原始算法查找的效率对比,包括了浅谈二分法查找和原始算法查找的效率对比的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧! 查找结果: 总结: 总结过我们可以看出,二分法查找几乎是不耗时,所以方法是很重要的 补充知识:顺序查找与二分查找时间复杂度的比较 注意要点:通过System.currentTimeMills();来获取当前时间,来计算
本文向大家介绍python中dict和list的区别,dict的内部实现?相关面试题,主要包含被问及python中dict和list的区别,dict的内部实现?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: dict查找速度快,占用的内存较大,list查找速度慢,占用内存较小,dict不能用来存储有序集合。Dict用{}表示,list用[]表示。 dict是通过hash表实现的,dict为
本文向大家介绍对比分析MySQL语句中的IN 和Exists,包括了对比分析MySQL语句中的IN 和Exists的使用技巧和注意事项,需要的朋友参考一下 背景介绍 最近在写SQL语句时,对选择IN 还是Exists 犹豫不决,于是把两种方法的SQL都写出来对比一下执行效率,发现IN的查询效率比Exists高了很多,于是想当然的认为IN的效率比Exists好,但本着寻根究底的原则,我想知道这个结论
本文向大家介绍Python中map和列表推导效率比较实例分析,包括了Python中map和列表推导效率比较实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python中map和列表推导效率比较。分享给大家供大家参考。具体分析如下: 直接来测试代码吧: 在我电脑上的测试结果: 很明显列表推导比map操作会快很多,都三倍速度了 希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍Python快速查找list中相同部分的方法,包括了Python快速查找list中相同部分的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇Python快速查找list中相同部分的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。