我想編寫一個迭代變量并更新它們的值的 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
提交
取消