在python中,我知道可以使用str()将许多类型的数据转换为字符串。有没有办法扭转这种局面?让我告诉你我的意思。
exampleDictionary = {'thing on ground': 'backpack'}
backpack = {'tea': 'Earl Grey'}
def openBackpack():
#code to grab backpack from exampleDictionary
#code to convert 'backpack' to backpack
#code to access backpack and look at the tea
这对我正在进行的代码过于简化,但基本上应该很容易看到我被困在哪里。如果不清楚我很乐意进一步澄清。
答案 0 :(得分:3)
这是处理数据的一种非常奇怪的方式。
我会使用嵌套的词组:
exampleDictionary = {'thing on ground': {'backpack': {'tea': 'Earl Grey'}}}
print exampleDictionary['thing on ground']
print exampleDictionary['thing on ground']['backpack']
print exampleDictionary['thing on ground']['backpack']['tea']
输出:
{'backpack': {'tea': 'Earl Grey'}}
{'tea': 'Earl Grey'}
Earl Grey
答案 1 :(得分:0)
您正在寻找globals()
。
def openBackpack():
backpack= globals()[exampleDictionary['thing on ground']]
print(backpack['tea'])
答案 2 :(得分:0)
此方法在代码中查找字符串和已存在的对象。
exampleDictionary = {'thing on ground': 'backpack'}
backpack = {'tea': 'Earl Grey'}
print( eval(exampleDictionary['thing on ground']) )
修改强>
对亚当·斯密来说,eval不是安全的,你不应该这样做......但是可以做到,这就是方法。
eval https://docs.python.org/2/library/functions.html#eval
获取一个字符串并将其解释为代码。
x = eval("1+2")
x = 3
如果您评估用户输入的可能性,您知道用户可以输入的内容或者注入'进入你的代码是未知的。