Я не могу переместить или удалить узел, который ранее был 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 или, вообще говоря, переместить его в другое место дерева?