下面我有一個簡單的程序。我打算做的是合併這兩本字典。但我不想複製任何關於偏移量,限制,結果的值。只是標有「項目」的標籤和包含更多字典的列表。字典包含一個列表包含更多的字典 - 更新
我的問題是,我可以拉下列表項,並將其存儲在一個變量中,其中刪除了其他鍵,但是當我將它添加到另一個列表中時,它將替換值而不是更新。
比如我有兩點字典:
my_dict: {'status': 'ok', 'result': {'items': [{'Test': 1000}, {'Test2': 2000}]}}
my_dict2: {'status': 'ok', 'result': {'items': [{'Test3': 1000}, {'Test4': 2000}]}}
我的結果,我想到的是:
my_dict2: {'status': 'ok', 'result': {'items': [{'Test3': 1000}, {'Test4': 2000}, {'Test': 1000}, {'Test2': 2000}]}}
,但我得到:
my_dict2: {'status': 'ok', 'result': {'items': [{'Test': 1000}, {'Test2': 2000}]}}
代碼:
my_dict = {
"status": "ok",
"result": {
"offset": 0,
"limit": 1000,
"total": 839,
"items": [
{
}
]
}
}
my_dict2 = my_dict
my_dict.update({'result': {'items': [{'Test': 1000},{'Test2': 2000}]}})
my_dict_values = my_dict['result']['items']
my_dict2.update({'result': {'items': [{'Test3': 1000},{'Test4': 2000}]}})
print "Before: %s" % (my_dict2)
my_dict2.update({'result': {'items': my_dict_values}})
print "After: %s" % (my_dict2)
要更新'my_dict2',當你真的只是想更新'my_dict2 [ '項目']'。 – Paul
@Patrick Haugh感謝您編輯我的帖子。我忘了添加頂部的代碼片段;-) –
@Paul是的,這似乎正是我在做什麼,接受的答案給了我正確的功能使用。謝謝哥們。 :-) –