在Python中for循环中初始化变量?

问题描述 投票:0回答:1

我想知道是否有任何方法来定义将在for循环中应用“ + =”运算符的变量,而不是在此之前。例如,我可以编写一个代码,用于从0到10的数字求和::

sum = 0
for i in range(10): 
    sum += i

我只是不想在循环之前定义变量“ sum”,因为它似乎不必要。但是,我知道我必须启动该变量,否则它将给出一个错误,或者可能为其分配了一个超级无关的随机数,该随机数可以表示其内存地址(如C语言)。

因此,我希望能够在for循环之前定义其初始值。甚至认为这似乎是一个非常简单的问题,我已经进行了互联网搜索,但找不到任何方法。

python for-loop variables initialization
1个回答
0
投票

您可以通过使用locals()setdefault来初始化和:

for i in range(10): 
    locals().setdefault('sum', 0)
    sum += i

0
投票

您可以使用reduce和lambda:

import functools
functools.reduce(lambda x, y: x + y, range(10))

签出:https://docs.python.org/3/library/functools.html#functools.reduce

© www.soinside.com 2019 - 2024. All rights reserved.