這個問題在這里已經有了答案: 如何動態創建變數?[重復] (8 個回答) 3 天前關閉。
這個帖子在3天前被編輯過提交審核,重新打開帖子失敗:
原始關閉原因未解決
我正在為我在學校的 python 專案撰寫基于文本的冒險游戲,目前我正在創建一個戰斗功能。它涉及很多字典,因此我需要從字串中參考變數。這是我要問的一個例子!
some_dict = {
'one':1,
'two':2
}
x = 'some_dict'
print(x)
print(x['one'])
我希望它列印字典 dict,而不是字串 'dict'。然后在第二次列印時,我希望它從字典 dict 中列印“one”中的值。是否有一些函式可以將字串轉換為變數,或者檢查與字串匹配的變數?或類似的規定?非常感謝!
uj5u.com熱心網友回復:
使用globals如果它是一個global變數(外AA功能):
print(globals()[x]['one'])
如果它在一個函式中:
print(locals()[x]['one'])
uj5u.com熱心網友回復:
在 Python 中以內置型別命名變數的問題:
# this will pass
myDict = dict()
dict = {
'one': 1,
'two': 2
}
# this will *not* pass!
myDict = dict()
# nor this either :(
assert isinstance(myDict, dict)
但是,盡管存在風險,但要繼續進行,這是最直接的方法:
x = globals()['dict']
print(x)
print(x['one'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/312972.html
下一篇:React中的字典問題
