Python:通过文本字符串链接到字典

时间:2013-11-21 23:41:59

标签: python

我正在尝试创建一个包含数据结构(字典)和描述这些数据结构的文本字符串的程序模块。我想将这些(字典和描述)导入到一个提供GUI界面的模块中。显示的行之一是第一个字典中包含的内容,其中一个字段包含另一个字典中包含的所有可能值。我试图避免“硬编码”这种关系,并希望将链接传递给第二个字典(包含所有可能的值)到描述第一个字典的字符串。一个抽象的例子是:

dict1 = {
    "1":["dog","cat","fish"],
    "2":["alpha","beta","gamma","epsilon"]
         }
string="parameter1,parameter2,dict1"

# Silly example starts here
#
string=string.split(",")
print string[2]["2"]

(我想得到:["alpha","beta","gamma","epsilon"]

但当然这不起作用

有没有人有这个问题的聪明解决方案?

1 个答案:

答案 0 :(得分:3)

通常,这种动态代码执行是个坏主意。它导致很难阅读和维护代码。但是,如果必须,您可以使用globals

globals()[string[2]]["2"]

更好的解决方案是首先将dict1放入字典中:

dict1 = ...
namespace = {'dict1': dict1}

string = ...
namespace[string[2]]["2"]