真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中l(wèi)ist,set,dict大規(guī)模查找效率對比的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹Python中l(wèi)ist ,set,dict大規(guī)模查找效率對比的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

站在用戶的角度思考問題,與客戶深入溝通,找到涿州網(wǎng)站設(shè)計與涿州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋涿州地區(qū)。

先看代碼:

__author__ = 'jmh081701'
import numpy
import time
l=[]
sl=set()
dl=dict()
r=numpy.random.randint(0,10000000,100000)
for i in range(0,100000):
  l.append(r[i])
  sl.add(r[i])
  dl.setdefault(r[i],1)
#生成3種數(shù)據(jù)結(jié)構(gòu)供查找,常規(guī)的list,集合sl,字典dl.里面的元素都是隨機(jī)生成的,為什么要隨機(jī)生成元素?這是防止某些結(jié)構(gòu)對有序數(shù)據(jù)的偏向?qū)е聹y試效果不客觀。

start=time.clock()
for i in range(100000):
  t=i in sl
end=time.clock()
print("set:",end-start)
#計算通過set來查找的效率
start=time.clock()
for i in range(100000):
  t=i in dl
end=time.clock()
print("dict:",end-start)
#計算通過dict的效率
start=time.clock()
for i in range(100000):
  t=i in l
end=time.clock()
print("list:",end-start)
#計算通過list的效率

結(jié)果:

set: 0.01762632617301519
dict: 0.021149536796960248
······
···
··

呵呵呵呵···list等了20分鐘都沒出結(jié)果。

所以···結(jié)果一覽無余啊。

查找效率:set>dict>list

單次查詢中:看來list 就是O(n)的;而set做了去重,本質(zhì)應(yīng)該一顆紅黑樹(猜測,STL就是紅黑樹),復(fù)雜度O(logn);dict類似對key進(jìn)行了hash,然后再對hash生成一個紅黑樹進(jìn)行查找,其查找復(fù)雜其實是O(logn),并不是所謂的O(1)。O(1)只是理想的實現(xiàn),實際上很多hash的實現(xiàn)是進(jìn)行了離散化的。dict比set多了一步hash的過程,so 它比set慢,不過差別不大。

so,如果是要頻繁的查找,請使用set吧!

以上是“Python中l(wèi)ist ,set,dict大規(guī)模查找效率對比的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞名稱:Python中l(wèi)ist,set,dict大規(guī)模查找效率對比的示例分析-創(chuàng)新互聯(lián)
文章來源:http://weahome.cn/article/ghcds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部