2013-11-21 75 views
0

我試圖創建一個包含數據結構(字典)和描述這些數據結構的文本字符串的程序模塊。我想將這些(字典和描述)導入到一個提供GUI界面的模塊中。顯示的行之一是包含在第一個字典中的內容,其中一個字段包含另一個字典中包含的所有可能的值。我試圖避免對這種關係進行「硬編碼」,並希望將第二個字典(包含所有可能的值)的鏈接傳遞給描述第一個字典的字符串。一個抽象的例子是:Python:通過文本字符串鏈接到字典

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"]

不過,當然,這並不工作

有沒有人有一個巧妙的解決了這個問題

+0

真棒。我不配,我不值得。 。 。 – user1148257

回答

3

一般來說,這種動態代碼執行是一個壞主意,它會導致代碼的讀取和維護非常困難,但是,如果必須的話,您可以使用globals來代替:

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

更好的解決方案將是把dict1成字典擺在首位:

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

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