【发布时间】:2015-07-16 16:37:13
【问题描述】:
我有两个大型嵌套字典,格式为
dictOne = "key1": {
"key2": {}
"key3": {
"key4" : {data...}
}
}
dictTwo = "key1": {
"key2": {}
}
除了它们有数千行长之外,一些字典嵌套了 10-15 层。 我想找到一种方法将它们组合在一起,类似于 SQL 中的 EXCEPT。我希望从 dictOne 中删除 dictTwo 中显示的任何键,但前提是该键下的 dict 没有子级。 所以在这种情况下,结果字典将是
dictRes = "key1": {
"key3": {
"key4" : {data...}
}
}
我假设没有简单的方法可以做到这一点,但我希望有人可以为我指明正确的方向,以制定一种可以实现这一目标的方法
【问题讨论】:
-
15 级深度字典?这不是一个好的设计。也许更需要重写代码。
-
您的预期输出示例是什么?
-
它需要表示一个海量项目的目录结构。不幸的是,没有其他方法可以做到这一点。上面显示的@Ming dictRes 是我希望它输出的内容
-
改述一下,您的预期输出是“D1 中的所有嵌套路径,其原始值在 D2 中不存在,无论值如何”,还是“D1 中的所有嵌套路径都不存在在 D2 中呈现相同的值?
-
不幸的是,到目前为止,您的问题对于一般情况下的行为非常模棱两可,因此以上内容有点猜测。
标签: python dictionary nested except