我想编写一个迭代变量并更新它们的值的 for 循环。例如:x = 1y = 1for varNames in [x,y]: varNames = varNames + 1print(x)print(y)在这里,我想让函数打印 x 和 y 的值 2,但我的输出仍然是 1。这是因为 varNames 变量得到更新,但 x 和 y 没有更新。如何更新实际变量名称 x 和 y 的值?谢谢您的帮助!
2 回答

开心每一天1111
TA贡献1836条经验 获得超13个赞
在全局级别(即不在函数内),您可以使用 globals() 函数执行此操作。
x = 1
y = 1
for varName in ["x","y"]:
globals()[varName] += 1
print(x) # 2
print(y) # 2
但是,如果您需要在程序中执行此类操作,您可能需要了解更多有关列表和字典的信息,这将是首选方法。
data = dict()
data["x"] = 1
data["y"] = 1
for varName in data:
data[varName] = data[varName] + 1
print(data["x"]) # 2
print(data["y"]) # 2

慕勒3428872
TA贡献1848条经验 获得超6个赞
您可以只创建一个包含变量的列表,然后您可以遍历它们并打印列表中的每个对象。
x = 1
y = 3
mylist=[x,y]
for index in mylist:
print(index)
添加回答
举报
0/150
提交
取消