我们有2个字典,我想应用以下条件并用new_x
更新old_x
old_x = {"A":[1,2,3,4,5],"B":[],"C":[10,30]}
new_x = {"B":[3,4,5],"A":[1,5,3],"C":[30,10],"D":[2]}
lists
值内elements
的顺序并不重要。ex: "C"
- 字典中
Keys
的排序并不重要。ex: un-ordered keys in new_x
new_x
中不存在的任何新Key
old_x
都应添加到old_x
中。ex: "D"
- 如果在
new_x
列表中找到新元素,则使用new_x
值更新old_x
值列表,同样,如果new_x
不包含old_x
的值,则删除values
。ex: "B" for updating, "A" for removing
比较时的预期产出:
old_x = {"A":[1,5,3],"B":[3,4,5],"C":[10,30],"D":[2]}
请帮我为此创建一个函数?
注意:new_x
中的元素和键并不总是相同的。我使它们保持相似,以演示问题的关键点。
如果数组中键/值的顺序不重要,为什么不直接调用:
old_x.update(new_x)
这不是简单的:
old_x = new_x
您可以像这样制作副本:
old_x = dict(new_x)