skbio.tree.TreeNode.prune

TreeNode.prune()[源代码]

拓扑重建后删除了正确的节点。

状态:从0.4.0开始实验。

只有一个子节点的内部节点将被删除,并且将建立新的连接以反映更改。此方法对于调用以下节点移除非常有用,因为它将清理具有单个子节点的节点。

单数子项的名称和属性将覆盖其父项的名称和属性。

节点查找缓存无效。

示例

>>> from skbio import TreeNode
>>> tree = TreeNode.read(["((a,b)c,(d,e)f)root;"])
>>> to_delete = tree.find('b')
>>> tree.remove_deleted(lambda x: x == to_delete)
>>> print(tree)
((a)c,(d,e)f)root;

>>> tree.prune()
>>> print(tree)
((d,e)f,a)root;