我有两个非常复杂的字典对象,它们是通过将大型 xml 文件转换为 python 字典来创建的。
我不知道字典的深度,只想比较并想要以下输出......
例如我的字典是这样的
d1 = {"great grand father":
{"name":"John",
"grand father":
{"name":"Tom",
"father":
{"name":"Andy",
"Me":
{"name":"Mike",
"son":
{"name":"Tom"}
}
}
}
}
}
d2 也是类似的,但可能任何一个字段丢失或更改如下
d2 = {"great grand father":
{"name":"John",
"grand father":
{"name":"Tom",
"father":
{"name":"Andy",
"Me":
{"name":"Tonny",
"son":
{"name":"Tom"}
}
}
}
}
}
字典比较应该给我这样的结果 -
Expected Key/Val : Me->name/"Mike"
Actual Key/Val : Me->name/"Tonny"
如果 d2 中的“Me”中不存在键“name”,它应该给我以下输出
Expected Key/Val : Me->name/"Mike"
Actual Key/Val : Me->name/NOT_FOUND
我重复字典深度可以是可变的或动态生成的。这里给出的两个词典作为例子......
我在SO中看到的所有字典比较问题及其答案都是相关的固定深度字典......