Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 包含包含更多Dict的列表的Dict-更新_Python_Python 2.7_List_Dictionary - Fatal编程技术网

Python 包含包含更多Dict的列表的Dict-更新

Python 包含包含更多Dict的列表的Dict-更新,python,python-2.7,list,dictionary,Python,Python 2.7,List,Dictionary,下面我有一个简单的程序。我打算合并这两本词典。但我不想复制任何关于偏移量、限制和结果的值。只有键标记的项和该项下的列表,其中包含更多字典 我的问题是,我可以将列表拉到、项下并将其存储在一个变量中,该变量会删除其他键,但是当我将其添加到其他列表中时,它会替换值,而不是更新 例如,我有两本字典: my_dict: {'status': 'ok', 'result': {'items': [{'Test': 1000}, {'Test2': 2000}]}} my_dict2: {'status':

下面我有一个简单的程序。我打算合并这两本词典。但我不想复制任何关于偏移量、限制和结果的值。只有键标记的项和该项下的列表,其中包含更多字典

我的问题是,我可以将列表拉到、项下并将其存储在一个变量中,该变量会删除其他键,但是当我将其添加到其他列表中时,它会替换值,而不是更新

例如,我有两本字典:

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_dict2的键'result'的值为{'items':[{'Test3':1000},{'Test4':2000}]}

您正在使用my_dict_值重写'result'的值,该值为{'items':[{'Test':1000},{'Test2':2000}]}

要获得预期结果,您可能需要尝试:

my_dict2['result']['items'].extend(my_dict_values)

您正在使用update覆盖“结果”值,可能会更改行

my_dict2.update({'result': {'items': my_dict_values}})


我会帮你做的

你正在更新我的dict2,而你真的只是想更新我的dict2['items')。@Patrick Haugh感谢你编辑我的帖子。我忘了为顶部添加代码剪报-@Paul是的,这似乎正是我正在做的,接受答案给了我正确的函数。谢谢你,伙计-啊,谢谢你!我知道这很简单,我做错了。我只是误解了更新功能。
my_dict2.update({'result': {'items': my_dict_values}})
my_dict2['results']['items'] += my_dict_values