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中l(wèi)ist對象的存儲結構采用的是線性表,因此其查詢復雜度為O(n),而dict對象的存儲結構采用的是散列表(hash表),其在最優(yōu)情況下查詢復雜度為O(1)。
以上這篇python中in在list和dict中查找效率的對比分析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python聊天室?guī)Ы缑鎸崿F(xiàn)的示例代碼(tkinter,Mysql,Treading,socket)
這篇文章主要介紹了Python聊天室?guī)Ы缑鎸崿F(xiàn)的示例代碼(tkinter,Mysql,Treading,socket),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04Python imutils 填充圖片周邊為黑色的實現(xiàn)
今天小編就為大家分享一篇Python imutils 填充圖片周邊為黑色的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實例
下面小編就為大家分享一篇用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧2017-12-12解決Python獲取文件提示找不到指定路徑can‘t?open?file?'area.py':
這篇文章主要給大家介紹了關于如何解決Python獲取文件提示找不到指定路徑can‘t?open?file?'area.py':[Errno?2]?No?such?file?or?directory的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-11-11Django Rest Framework構建API的實現(xiàn)示例
本文主要介紹了Django Rest Framework構建API的實現(xiàn)示例,包含環(huán)境設置、數(shù)據(jù)序列化、視圖與路由配置、安全性和權限設置、以及測試和文檔生成這幾個步驟,具有一定的參考價值,感興趣的可以了解一下2024-08-08Python?matplotlib?plotly繪制圖表詳解
plotly本身是個生態(tài)非常復雜的繪圖工具,它對很多編程語言提供接口。交互式和美觀易用應該是?Plotly?最大的優(yōu)勢,而?Matplotlib?的特點則是可定制化程度高,但語法也相對難學,各有優(yōu)缺點。本文將通過示例詳細講解二者是如何繪制圖表的,需要的可以參考一下2022-03-03