递归地向zss T添加节点

2024-10-03 02:46:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用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。感谢您的帮助


Tags: 模块对象from文档importnode距离示例
1条回答
网友
1楼 · 发布于 2024-10-03 02:46:39

在查看^{}之后,我发现这可能适用于它使用的simple_tree

A.get('c').addkid(Node('l'))

似乎使用的标签应该是唯一的。所以get实际上返回了在深度优先搜索中找到的第一个带有标签的节点

A.get('f').get('a').get('c').addkid(Node('l'))

相关问题 更多 >