猿问

Python迭代变量

我想编写一个迭代变量并更新它们的值的 for 循环。例如:


x = 1

y = 1

for varNames in [x,y]:

    varNames = varNames + 1

print(x)

print(y)

在这里,我想让函数打印 x 和 y 的值 2,但我的输出仍然是 1。这是因为 varNames 变量得到更新,但 x 和 y 没有更新。如何更新实际变量名称 x 和 y 的值?


谢谢您的帮助!


狐的传说
浏览 62回答 2
2回答

开心每一天1111

在全局级别(即不在函数内),您可以使用 globals() 函数执行此操作。x = 1y = 1for varName in ["x","y"]:    globals()[varName] += 1print(x) # 2print(y) # 2但是,如果您需要在程序中执行此类操作,您可能需要了解更多有关列表和字典的信息,这将是首选方法。data = dict()data["x"] = 1data["y"] = 1for varName in data:    data[varName] = data[varName] + 1print(data["x"]) # 2print(data["y"]) # 2

慕勒3428872

您可以只创建一个包含变量的列表,然后您可以遍历它们并打印列表中的每个对象。x = 1 y = 3mylist=[x,y]for index in mylist:    print(index)
随时随地看视频慕课网APP

相关分类

Python
我要回答