Python:使用for循环更改变量后缀

标签 python for-loop variable-names

我知道这个问题被问了很多,但到目前为止我无法使用/理解答案。

我想更改for循环中变量的后缀。

我尝试了 stackoverflow 搜索提供的所有答案。但很难理解提问者经常提出的具体代码。

为了清楚起见,我使用一个简单的例子。这并不意味着面向应用。我只是想了解如何更改后缀。

var_1 = 10
var_2 = 100
var_3 = 1000

for i in range(1,4):
    test_i = var_i + 1
    print(test_i)

预期结果: 创建和打印变量:

test_1 = 11 
test_2 = 101 
test_3 = 1001


预期输出

11
101
1001

错误:var_i 被读取为变量名称,而没有对 i 进行更改。

最佳答案

我建议在 99.99% 的情况下不要使用 eval。您可以做的是使用内置的 getattr 函数:

import sys
var_1 = 10
var_2 = 100
var_3 = 1000

for i in range(1,4):
    test_i = getattr(sys.modules[__name__], f"var_{i}") + 1
    print(test_i)

关于Python:使用for循环更改变量后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57546321/

相关文章:

c++ - 变量名中的美元符号?

python - 在请求 python 上捕获代理错误

python - 如何使用索引从数据框中获取值?

c++ - 在数组中查找唯一数字

python - 在循环中恢复循环的Pythonic方法是什么

arrays - Swift:属性名称的插值?

r - 将变量名称传递给绘图函数标题

python - 在 Python 中获取 float 的 "bits"?

python - 加速 pandas 上的复杂功能

javascript - 为什么 lodash _.each 比原生的 for 循环更快?