Невозможно переместить / удалить старый root узел в treelib - PullRequest
0 голосов
/ 17 февраля 2020

Я не могу переместить или удалить узел, который ранее был root в treelib. Любые идеи? Ниже я создаю узел root и некоторые дочерние элементы, затем переопределяю root.

from treelib import Tree

t = Tree()
t.create_node(identifier = 0)
t.create_node(identifier = 1, parent = 0)
t.create_node(identifier = 2, parent = 1)
t.create_node(identifier = 3, parent = 1)

t.root = 1
#t.move_node(0,1)
#t.remove_node(0)

t.show()

Хотя дерево, отображаемое при вызове t.show(), является правильным, t.move_node(0,1) вызывает исключение LoopError, тогда как t.remove_node(0) создает пустое дерево (поскольку все дочерние элементы узла удалены).

Глубина узла 1 равна 0 (то есть правильная), но глубина узла 0 также равна 0, и t.parent(1) возвращает узел 0 означает, что узлы 0 и 1 остаются подключенными (хотя узел 0 не отображается при вызове t.show()). Я абсолютно понимаю полезность сохранения невыявленных / нереализованных узлов (в данном случае узла 0) для будущего использования, но есть ли способ полностью удалить узел 0 или, вообще говоря, переместить его в другое место дерева?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...