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