2017-06-21 84 views
0

我有一本字典:添加一個新的關鍵,現有的Python字典

oldDict = {'a': 'apple', 'b': 'boy', 'c': 'cat'} 

我想要一個新的字典,老詞典的新密鑰值,所有的元素值之一:

newDict = {'apple': {'a': 'apple', 'b': 'boy', 'c': 'cat'}} 

我試着這樣做:

newDict['apple'] = oldDict 

這似乎並不奏效。請注意,我的腳本中沒有變量newDict。我只是有oldDict,我需要修改它以在每個循環中進行此更改。最後我會有一本字典,看起來像這樣。

oldDict = {'apple': {'a': 'apple', 'b': 'boy', 'c': 'cat'}, 'dog': {'d': 'dog', 'e': 'egg'}} 

回答

1

你需要複製你的字典這樣你就不會創建一個循環引用。

>>> newDict = {'apple': {'a': 'apple', 'b': 'boy', 'c': 'cat'}} 
>>> newDict['potato'] = dict(newDict) 
>>> newDict 
{'apple': {'a': 'apple', 'c': 'cat', 'b': 'boy'}, 'potato': {'apple': {'a': 'apple', 'c': 'cat', 'b': 'boy'}}} 
0

您需要首先創建/申報的字典,然後才能添加項目到它

oldDict = {'a': 'apple', 'b': 'boy', 'c': 'cat'} 
newDict = {} 
newDict['apple'] = oldDict 
# {'apple': {'a': 'apple', 'b': 'boy', 'c': 'cat'}} 

# you can 1st create the newDict outside the loop then update it inside the loop 
>>> newDict = {} 
>>> dict1 = {'a': 'apple', 'b': 'boy', 'c': 'cat'} 
>>> dict2 = {'d': 'dog', 'e': 'egg'} 
>>> newDict['apple'] = dict1 
>>> newDict['dog'] = dict2 
>>> newDict 
>>> {'apple': {'a': 'apple', 'b': 'boy', 'c': 'cat'}, 'dog': {'d': 'dog', 'e': 'egg'}} 

,或者你可以做如下

newDict = {'apple':oldDict} 
相關問題