我有一個變數,我們將呼叫x它,它存盤字串test
我有另一個變數,我們將呼叫y它,它存盤字串值x
有什么辦法可以讓我print(y)回來test
換句話說,我如何才能將其本身print的值存盤變數的名稱?yx
我還應該提到,我不能只是print(x),因為 x 改變了,(就像它的字串值一樣)。
uj5u.com熱心網友回復:
>>> x="test"
>>> y="x"
>>> eval(y)
'test'
但不要使用 eval。更好的方法是使用映射,例如字典。
>>> mapping = {"x": "test"}
>>> mapping[y]
'test'
實際上,python 中的變數無論如何都在字典中,可以通過 theglobals()或locals()builtins 訪問。因此,另一種動態訪問名稱的方法是……
>>> globals()[y]
'test'
…但這只是創建您真正需要的字典的一種更神奇且不太清晰的解決方案。
uj5u.com熱心網友回復:
您可以創建字典:
d = {"x": "test"}
y = "x"
print(d[y])
如果要使用變數x,則可以將一些值設定x為初始化。正如你所說,x價值可以改變:
x = None # can be any value depending on the user.
d = {x: "test"}
y = x
print(d[y])
輸出:
"test"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/460303.html
