2016-03-28 37 views
0

我的詞典列表,我需要改變:大廈字典中解釋

my_dictionary = {} 
my_array = [{'first': 'this'}, {'second': 'this'}] 

我想是鍵入my_dictionary,然後讓子字典是等於項my_array,像所以:

my_dictionary = {'red' : {'first': 'this', 'second' : 'this'}} 

我有什麼,在理論上是:

for i in my_array: 
    my_dictionary['red'] = dict(i.items()) 

但我得到的錯誤:

TypeError: 'dict' object is not callable

我意識到雖然,這可能是因爲第一次迭代後,我沒有創造一本字典,我只是將它。有我從每個項目拔出鑰匙在my_array,這樣我可以指定它更像一個辦法:

for i in my_array: 
    my_dictionary['red'][key_from_item_in_my_array] = my_array[key_from_item_in_my_array] 

,但我不知道該怎麼做。

+4

我敢打賭,你已經有了一個變量在你的代碼中某個地方叫做「dict」。 – ForceBru

+0

什麼是數組?它是my_array嗎? – Peaceful

+0

啊,是的,我真的重新做到了。並精心地使用構造函數的方法,我只是最後一次迭代數據而已。所以它覆蓋每一次迭代。如何將鍵值對添加到字典中? – Jacob

回答

3

好像你想要將字典數組合併成單個字典,然後把字典放在另一個字典中。合併很簡單:

new_dict = {} 
for i in my_array: 
    new_dict.update(i) 

現在你可以把你的字典合併到你的第二個:

my_dictionary = {} 
my_dictionary["red"] = new_dict 

這將產生:

my_dictionary = {'red': {'first': 'this', 'second': 'this'}}