最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中l(wèi)ist、dict、set查詢速度詳細對比

 更新時間:2026年03月10日 10:45:43   作者:needones  
在Python編程語言中l(wèi)ist、set和dict是三種常用的數(shù)據(jù)結(jié)構(gòu),它們各自有著不同的用途和特性,這篇文章主要介紹了python中l(wèi)ist、dict、set查詢速度詳細對比的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

前言

平常使用的時候,可能對于這三種類型的查詢無感,因為數(shù)據(jù)量小的時候查詢速度都很快,所以無感覺,今天來試試。

一百萬數(shù)據(jù)測試

=b list=
0.013915400000000133
=c dict=
2.100000000115898e-06
=d set=
9.999999996956888e-07

一千萬數(shù)據(jù)測試

=b list=
0.12139450000000096
=c dict=
2.9000000001389026e-06
=d set=
1.1000000004202093e-06

一億數(shù)據(jù)測試

=b list=
14.738766999999996
=c dict=
0.0010382000000106473
=d set=
0.0005590999999753876

測試代碼

b = []
c = {}
d = set()

for i in range(1000000):  # 此處調(diào)整數(shù)據(jù)量
    num = random.randint(0, 10000000000)

    b.append(num)
    c[num] = 1
    d.add(num)

print('=========b list=========')
time1 = time.perf_counter()
if 9999 in b:
    print("yes")
time2 = time.perf_counter()
print(time2 - time1)
print('=========c dict=========')
time1 = time.perf_counter()
if 9999 in c:
    print("yes")
time2 = time.perf_counter()
print(time2 - time1)
print('=========d set=========')
time1 = time.perf_counter()
if 9999 in d:
    print("yes")
time2 = time.perf_counter()
print(time2 - time1)

結(jié)論

從上面數(shù)據(jù)來看,set > dict >> list

list查詢速度最慢,性能上差距上萬倍

字典: dict會把所有的key變成hash 表,然后將這個表進行排序,這樣,你通過data[key]去查data字典中一個key的時候,python會先把這個key hash成一個數(shù)字,然后拿這個數(shù)字到hash表中看沒有這個數(shù)字, 如果有,拿到這個key在hash表中的索引,拿到這個索引去與此key對應(yīng)的value的內(nèi)存地址那取值就可以了。

集合: 集合的存儲方式和字典key類似,都是采用hash存儲,相同的值對應(yīng)相同的地址,所以set中沒有相同值,也是無序的

冷知識:你知道這兩個有什么區(qū)別嗎,哪個更快?

a = list()
b = []

有興趣的小伙伴嘗試一下

t1 = time.perf_counter()
a = list()
t2 = time.perf_counter()
print(f"a = list() cost :{t2 - t1}")

t1 = time.perf_counter()
b = []
t2 = time.perf_counter()
print(f"b = []     cost :{t2 - t1}")

總結(jié) 

到此這篇關(guān)于python中l(wèi)ist、dict、set查詢速度詳細對比的文章就介紹到這了,更多相關(guān)python list、dict、set查詢速度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

吉林市| 美姑县| 清远市| 贡山| 正镶白旗| 建始县| 汝阳县| 信阳市| 寿光市| 绍兴市| 呼玛县| 丰原市| 台南市| 孝昌县| 东辽县| 武山县| 思南县| 洪湖市| 潞城市| 云安县| 丽水市| 米脂县| 英山县| 台东县| 营山县| 阜平县| 淮滨县| 临沭县| 利辛县| 定兴县| 平江县| 屏山县| 桦南县| 教育| 丘北县| 抚顺县| 甘洛县| 沿河| 衡水市| 平乡县| 海晏县|