蟒蛇。将字符串转换为目录

时间:2015-01-21 19:12:19

标签: python string dictionary

在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

这对我正在进行的代码过于简化,但基本上应该很容易看到我被困在哪里。如果不清楚我很乐意进一步澄清。

3 个答案:

答案 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 

如果您评估用户输入的可能性,您知道用户可以输入的内容或者注入'进入你的代码是未知的。