我知道这个问题被问了很多,但到目前为止我无法使用/理解答案。
我想更改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/