【发布时间】:2015-07-27 00:55:07
【问题描述】:
这是输入:
list_child_parent= [
#first value is child, second is parent
(0, 1),
(1, 3),
(8, 7),
(3, 6),
(4, 3),
(5, 3)
]
输出需要使用这些值创建一个嵌套字典树。树的深度永远不会超过 6 层。
例如:
output_dict = {
6: {3: {1: {0: {}}, 4: {}, 5: {}}}, 7: {8: {}}
}
我花了两天时间试图完成这个。我曾尝试编写函数来查找键在树中的位置,然后在其后添加新键,但我无法生成可以继续超过 3 个级别的代码。这令人费解,我觉得可能有一个标准库可以做到这一点。
我的经验水平很低。
【问题讨论】:
-
根据您的“示例输出”,3 是 8 的父级。但这不是您的输入所描述的。此外, 8 不应该是 7 的 child 吗?我很困惑。
-
key: value对是否存在模式? -
3 是 1、4 和 5 的父级。是的 8 是 7 的子级,我修复了这个问题。显然我还没有产生输出的代码,所以我手工编写了那个字典。
-
这对没有模式。您应该假设父子巢穴的列表可以按任何顺序排列。
-
你的树不应该是
{6: {3: {1: {0: {}}, 4: {}, 5: {}}}, 7: {8: {}}}吗?您显示 3 在元组中有子 1、5、4,但输出看起来像 1 有子 5、4、0。
标签: python python-3.x dictionary treeview