2012-10-27 20 views
1

我是新來的Python所以這可能是一個愚蠢的問題。我確定答案是在文檔或其他線程堆棧溢出,但我找不到它。Python:如何創建一個以列表條目命名的字典?

我有一個列表:dict_list = ['first_dict', 'second_dict', 'third_dict']

我需要一種方法創建一個字典在此列表中的每個條目,然後在以後使用它的列表索引引用它。因此,通過引用dict_list[0],我希望能夠創建一個新的字典first_dict = {}

然後,我希望能夠再次引用字典以後用dict_list[0],然後分配鍵值,以first_dict。

dict_list從1到1000個條目包含的任何地方。

回答

3

你需要什麼的名字?答案是,你沒有。當你開始考慮以編程方式分配一堆變量名時,特別是如果這些名稱中包含數字,那麼在製作一個列表或其他容器時幾乎總是更好。

dict_list = [{} for x in xrange(3)] 

現在dict_list[0]是一個字典,dict_list[1]是另一個,等等。這使得他們很容易遍歷和訪問,而兩輪牛車像globals()eval()

+0

謝謝!這很有意義。 –

0

您可以使用globals()

In [54]: dict_list = ['first_dict', 'second_dict', 'third_dict'] 

In [55]: for x in dict_list: 
    globals()[x]=dict() 
    ....:  
    ....:  

In [57]: dict_list=[globals()[x] for x in dict_list] 

In [58]: dict_list[0]['key']='value' #add key to first_dict 

In [60]: first_dict  
Out[60]: {'key': 'value'} 

In [63]: first_dict is dict_list[0] #dict_list[0] and first_dict are same objects 
Out[63]: True 
相關問題