有人可以解释为什么第一个代码比第二个代码运行得更快的原因吗?
# First example
if a%1 == 0 and a%2 == 0 and a%3 == 0 and a%4 == 0 and a%5 == 0:
# do something if True
# Second example
list1 = list(range(1,6,1))
if all(a%i == 0 for i in list1)
# do something if True
* a变量如果为false则会改变
我知道可以排除1和4,但是对于学校论文来说,我只是用它来展示一个坏榜样。不过,我想知道原因。 感谢
答案 0 :(得分:1)
在第二个示例中,您将动态创建一个列表,因此需要额外的时间,因为您无论如何都会执行所有比较,但会增加内存预留开销(您正在处理内存,这比处理速度慢一些)处理器寄存器)。