依稀记得在公司刚开始写代码时,大佬看到我写这种语句
if xxx in [xxx, xxx, ...]:
...
告诉我,遇到这种情况,要用元组替代列表,因为 in 操作在元组中更快,类似这样
if xxx in (xxx, xxx, ...):
...
后来在网上查资料说是两个的数据结构的不同导致元组会比列表性能更高一点,今天闲来无事,写了一个测试,没想到元组比 list 慢的多?请各位大佬赐教 代码
a = [i for i in range(100000000)]
s = time.time()
if 99999993 in a:
print('true')
e = time.time()
t = e - s
print(t) --> 1.7924060821533203
c = (i for i in range(100000000))
s = time.time()
if 99999993 in c:
print('true')
e = time.time()
t = e - s
print(t) --> 8.226477146148682
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.