Python 执行时间的差异
当试图测量一段代码的执行时间以计算列表中的最小值时(不使用内置方法),我得到两个不同代码的不同时间 代码1:Python 执行时间的差异,python,Python,当试图测量一段代码的执行时间以计算列表中的最小值时(不使用内置方法),我得到两个不同代码的不同时间 代码1: %%timeit minimum = None for x in num: if minimum == None: minimum=x elif x<minimum: minimum=x else: continue 1.47 µs ± 186 ns per loop (mean ± std. dev
%%timeit
minimum = None
for x in num:
if minimum == None:
minimum=x
elif x<minimum:
minimum=x
else:
continue
1.47 µs ± 186 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
%%timeit
最小值=无
对于数量中的x:
如果最小值==无:
最小值=x
elif x您在code 1
中有一个额外的检查——它只在第一次迭代中有用,但您会在每次迭代中不断检查。由于代码非常少,因此程序的速度几乎降低了2倍
顺便说一句,else:continue
什么都不做——Python自然会在循环的底部继续
嗯。。。也许你没有注意到时间单位的差异?测量值分别为1470纳秒和897纳秒。这就是我想知道的。代码的哪个方面导致了时差?另一部分是习惯的力量。
%%timeit
minimum = num[0]
for x in num:
if x<minimum:
minimum=x
else:
continue
897 ns ± 65.3 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)