更快的方法是:从列表中多次读取相同的值或将其保存到新变量中?
我的代码如下所示:
if list[0] > foo:
return list[0], list[0] + bar
我应该定义
l0 = list[0]
以避免三遍阅读列表吗?还是由于l0
变量的内存分配和垃圾回收而导致效率低下? 最佳答案
我同意这些意见,这种微优化不太值得付出努力。无论如何,使用python的timeit
https://docs.python.org/3.6/library/timeit.html来检查类似的事情很容易
from timeit import timeit
def a():
if my_list[0] == 0:
return my_list[0], my_list[0] + 42
return 'bar'
def b():
my_list_0 = my_list[0]
if my_list_0 == 0:
return my_list_0, my_list_0 + 42
return 'bar'
timeit(a)
>>> 0.01871770019934047
timeit(b)
>>> 0.01709997310099425
关于python - Python:从列表中多次读取还是定义一个变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49447182/