import time
def main_1():
li = [x for x in range(5000000)]
start = time.clock()
if 2500000 in li:
end = time.clock()
print('1-执行时间: ', end-start)
def main_2():
x = 2500000
start = time.clock()
if x > 0 and x < 5000000:
end = time.clock()
print('2-执行时间: ', end-start)
if __name__ == '__main__':
main_1()
main_2()
运行结果如下
1-执行时间: 0.017800999999999984
2-执行时间: 4.000000000004e-06
答案很显然,是直接比较的更快。if a in b 应该会涉及到遍历列表的情况,当列表足够大时,会严重拖累性能。在单纯的比较数字区间时,直接进行比较是最好的。只有在对比非数字序列的元素时才采用 if a in b
本文通过Python代码演示了在大数据集上使用'if a in b'进行列表搜索与直接数值比较的性能差异,结果显示直接数值比较在速度上明显优于列表搜索。
6万+

被折叠的 条评论
为什么被折叠?



