我想每个人都知道:
好的,这是真的:
oldlist = [str(i) for i in range(500)]
oldlist1 = [i for i in range(500)]
%%timeit
newlist = []
for word in oldlist:
newlist.append(word.upper())
10000次循环,最佳3:每个循环178 µs
%%timeit
def func():
newlist = []
for word in oldlist:
newlist.append(word.upper())
return newlist
newlist = func()
10000个循环,最好为3:每个循环93.2 µs
不幸的是,看起来这不是全局规则,而是特殊情况:
%%timeit
newlist = []
for nr in oldlist1:
newlist.append(nr * nr)
10000次循环,最好为3次:每个循环60.3 µs
%%timeit
def func():
newlist = []
for nr in oldlist1:
newlist.append(nr * nr)
return newlist
newlist = func()
10000次循环,最好为3次:每个循环60.5 µs
如何解释这些测试?
最佳答案
在最后一个示例中,您首先定义了一个额外的功能。如果您在找到功能后启动计时器,它应该会更快。
关于python - Python中全局和局部变量的速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20075044/