Python:从列表中多次读取还是定义一个变量?

Python:从列表中多次读取还是定义一个变量?,python,performance,list,Python,Performance,List,更快的方法是:从列表中多次读取相同的值,还是将值保存到新变量? 我的代码如下所示: if list[0] > foo: return list[0], list[0] + bar 我是否应该定义l0=list[0]以避免读取列表三次?或者这是因为l0变量的内存分配和垃圾收集导致的效率低下?我同意这些评论,这种微优化不太值得努力。无论如何,使用python的timeit 这真的是代码中的瓶颈吗?因为,在任何情况下,差异都很可能可以忽略不计。出于实际目的,哪种方式更具可读性或更不容易

更快的方法是:从列表中多次读取相同的值,还是将值保存到新变量? 我的代码如下所示:

if list[0] > foo:
    return list[0], list[0] + bar

我是否应该定义
l0=list[0]
以避免读取列表三次?或者这是因为
l0
变量的内存分配和垃圾收集导致的效率低下?

我同意这些评论,这种微优化不太值得努力。无论如何,使用python的
timeit


这真的是代码中的瓶颈吗?因为,在任何情况下,差异都很可能可以忽略不计。出于实际目的,哪种方式更具可读性或更不容易出错可能总是更相关的。不过,我认为这个问题在技术上是有效的,即使只是出于好奇。
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