Я пытаюсь получить список узлов (objetcs) в двоичном дереве Python, я ищу рекурсивную функцию, реализованную в объекте узла, поэтому я вызову функцию на корневом узле, и она будет работать вниз дочерние узлы, пока не достигнут определенного уровня, а затем вернут эти узлы в список
Мой текущий подход, я не уверен, правильно ли это или лучший способ реализовать это:
def get_level_nodes(self, nodes, level=1):
if self.level > level:
return nodes
if self.level == level:
nodes.append(self)
return nodes
for child in self.child_id:
nodes += child.get_level_nodes(node, level)
return nodes
# Getting the list
nodes_list = root_node.get_level_nodes([], 3)