下面我有一个简单的程序。我打算做的是合并这两本字典。但我不想复制任何关于偏移量,限制,结果的值。只是标有“项目”的标签和包含更多字典的列表。字典包含一个列表包含更多的字典 - 更新
我的问题是,我可以拉下列表项,并将其存储在一个变量中,其中删除了其他键,但是当我将它添加到另一个列表中时,它将替换值而不是更新。
比如我有两点字典:
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是的,这似乎正是我在做什么,接受的答案给了我正确的功能使用。谢谢哥们。 :-) –