python - 递归地将节点添加到 zss 树
问题描述
我想使用 zss 模块比较树的距离。为此,我试图通过递归添加节点来创建树。不幸的是,该文档仅提供了一次使用所有节点创建树的示例,我无法理解如何导航到子节点以便在创建树对象后添加另一个节点。
这是一个简单的例子:
from zss import Node
A = (
Node("f")
.addkid(Node("a")
.addkid(Node("h"))
.addkid(Node("c")))
.addkid(Node("e"))
)
B = (
Node("f")
.addkid(Node("a")
.addkid(Node("h"))
.addkid(Node("c")
.addkid(Node("l"))))
.addkid(Node("e"))
)
我现在要做的就是将子“l”添加到树 A 中的节点“c”,这样 A == B。感谢任何帮助。
解决方案
查看后zss
,我发现这可能适用于simple_tree
它使用的:
A.get('c').addkid(Node('l'))
它似乎使用了可能应该是唯一的标签。因此,get 实际上返回在深度优先搜索期间找到的具有该标签的第一个节点。
A.get('f').get('a').get('c').addkid(Node('l'))
推荐阅读
- php - PHP 输出 SimpleXMLElement
- python-3.x - 如何在 Django 模板中迭代抽象类的对象?
- python - 记录某些内容时如何调用 Python 函数
- php - 预订检查空房情况
- c++ - 为什么 SDL_RenderCopy 和 SDL_RenderCopyEx 采用非常量纹理?
- amazon-web-services - 我的前端是通过 HTTPS 提供的,但我的 API 是在 HTTP 上(都在 AWS ECS 上),所以我收到了混合内容错误。有一个简单的解决方法吗?
- c# - 将 AllowTransparency 单独设置为 WebBrowser
- ansible - ansible 同步模块验证文件
- python - 不能在 python windows 10 中使用 fdb
- html - 想将多个id初始化为变量并使用JQuery改变select标签的option值