我想每个人都知道:
Python比全局变量更有效地访问局部变量
好的,这是真的:
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
如何解释这些测试?
答案 0 :(得分:1)
在最后一个示例中,首先定义一个额外的函数。如果在找到该功能后启动计时器,它应该更快。