在內(nèi)部聲明set時(shí),列表理解速度較慢

我測(cè)試了兩段代碼,發(fā)現(xiàn)在列表理解中使用集合之前聲明集合比在列表理解內(nèi)聲明集合快得多。為什么會(huì)發(fā)生這種情況?(使用python 3.9.13)

import time

# Setup
a = [x for x in range(10000)]
b = [x for x in range(8000)]

t = time.time()
b = set(b)
[x for x in a if x in b]
print(time.time() - t)
# 0.0010492801666259766


t = time.time()
[x for x in a if x in set(b)]
print(time.time() - t)
# 1.0515294075012207

我沒(méi)想到會(huì)有數(shù)量級(jí)的差異。。。

? 最佳回答:

實(shí)際上,set([iterable])函數(shù)返回類型為set的對(duì)象,在列表理解中,您在每次迭代中重復(fù)執(zhí)行該函數(shù),而在第一種情況下,您只將其結(jié)果引用到b變量,并對(duì)引用的對(duì)象執(zhí)行列表理解。

主站蜘蛛池模板: 一区二区高清在线观看| 亚洲一区二区三区亚瑟| 无码免费一区二区三区免费播放| 韩国福利一区二区美女视频| 国产一区二区三区免费看 | 国产在线一区观看| 日本免费一区二区在线观看 | 无码精品尤物一区二区三区| 国产在线精品一区二区不卡麻豆 | 中文字幕日韩一区二区三区不| 亚洲av无码成人影院一区| 无码国产伦一区二区三区视频| 国产日韩高清一区二区三区| 无码日韩人妻AV一区免费l| 无码播放一区二区三区| 亚洲天堂一区二区三区| 人妻无码一区二区三区AV| 无码精品黑人一区二区三区| 午夜天堂一区人妻| 亚洲午夜精品一区二区| 色妞色视频一区二区三区四区| 亚洲国产老鸭窝一区二区三区| 国产免费一区二区三区在线观看 | 一区二区三区视频| 亚洲熟女综合一区二区三区| 精品人妻少妇一区二区三区不卡 | 国产午夜毛片一区二区三区| 久久久久人妻一区精品果冻| 在线视频一区二区三区三区不卡 | 亚洲综合在线一区二区三区| 3D动漫精品一区二区三区| 亚无码乱人伦一区二区| 成人精品一区二区不卡视频| 国产MD视频一区二区三区| 久久精品中文字幕一区| 午夜天堂一区人妻| 成人无码精品一区二区三区| 精品乱码一区内射人妻无码| 色妞AV永久一区二区国产AV| 久久久久久人妻一区精品 | 亚洲中文字幕无码一区二区三区|