如何对一堆变量求和?

How to sum a bunch of variables?

假设我们有 1000 个变量:

a_1 = 4
a_2 = 6
.
.
.
a_1000 = 76

best/most 求和这些变量的有效方法是什么?像下面这样的东西会起作用吗:

  sum_all_list = []
    for i in range(1001):
        sum_all_list.append(globals()['a_{}'.format(i)])
  sum_all = sum(sum_all_list)

为什么不使用列表? 如果给定大量包含不同数字的变量。我会把它全部复制到一个文本文件中。并使用: This。 然后把它变成一个列表。

我会在全局变量中搜索它们,然后简单地将它们相加:

res = 0
for vn,vv in globals().items():
    if vn[:2] == 'a_':
        res += vv

上面的例子可行,但您可以像这样直接对变量求和:

sum = 0
for _ in range(1001):
  sum += globals()['a_{}'.format(i)]

但是,最好将所有值存储在一个列表中。

bunch_of_numbers = [1, 2, 3]

您可以使用 dir()eval() 函数:

a_1 = 4
a_2 = 6
a_3 = 5
a_4 = 2
a_8 = 5
a_1859 = 20
varList = dir()
sum = 0
for var in varList:
  if "a_" in var:
    sum += eval(var)

print(sum)

结果输出:

42