我想知道是否有任何方法来定义将在for循环中应用“ + =”运算符的变量,而不是在此之前。例如,我可以编写一个代码,用于从0到10的数字求和::
sum = 0
for i in range(10):
sum += i
我只是不想在循环之前定义变量“ sum”,因为它似乎不必要。但是,我知道我必须启动该变量,否则它将给出一个错误,或者可能为其分配了一个超级无关的随机数,该随机数可以表示其内存地址(如C语言)。
因此,我希望能够在for循环之前定义其初始值。甚至认为这似乎是一个非常简单的问题,我已经进行了互联网搜索,但找不到任何方法。
您可以通过使用locals()和setdefault来初始化和:
for i in range(10):
locals().setdefault('sum', 0)
sum += i
您可以使用reduce和lambda:
import functools
functools.reduce(lambda x, y: x + y, range(10))
签出:https://docs.python.org/3/library/functools.html#functools.reduce