Python 执行时间的差异

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

当试图测量一段代码的执行时间以计算列表中的最小值时(不使用内置方法),我得到两个不同代码的不同时间

代码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. 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)