比较无序字典值和键

时间:2018-12-09 22:17:30

标签: python python-3.x python-2.7 dictionary

我们有2个字典,我想应用以下条件,并用old_x更新new_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]}
  1. elements值内lists的排序并不重要。
    ex: "C"
  2. 在字典中Keys的排序并不重要。
    ex: un-ordered keys in new_x
  3. Key中不存在的new_x中任何新的old_x应该添加到old_x中。
    ex: "D"
  4. 如果在old_x列表中发现了新元素,则用new_x值更新new_x值列表,如果values不包含new_x,则删除old_x ex: "B" for updating, "A" for removing的那些值。
    new_x

比较时的预期输出:

  

old_x = {“ A”:[1,5,3],“ B”:[3,4,5],“ C”:[10,30],“ D”:[2]}

请帮助我为此创建函数吗?

注意:{{1}}中的元素和键并不总是相同的。我将它们保持相似以演示问题的关键点。

2 个答案:

答案 0 :(得分:1)

如果键/值在数组中的顺序不重要,为什么不直接调用:

old_x.update(new_x)

答案 1 :(得分:0)

这不简单吗?

old_x = new_x

您可以制作这样的副本:

old_x = dict(new_x)