Каждый узел дерева представляет собой объект, имеющий метод .child(), который позволяет извлечь его первый уровень. дочерние узлы в виде списка объектов, но только дочерние узлы первого уровня.
например. object_18_at_level_57.child() -> [object_15_at_level_58, object_177_at_level_58, object_189_at_level_58]
Затем я могу вызвать один и тот же метод .child() для всех объектов в этом списке чтобы получить подподобъекты и т. д. Но это утомительный кошмар цикла for.
Поэтому я хотел бы создать функцию, которая возвращает мне dict() всех нисходящих дочерних элементов любого заданного объекта в наборе данных. Например:
Код: Выделить всё
my_func(object_18_at_level_57) -> {
object_18_at_level_57:
{object_15_at_level_58: object_222_at_level_59: { { { any depth... } } } },
{object_177_at_level_58: object_11_at_level_59: { { { any depth... } } } },
{object_189_at_level_58: object_87_at_level_59: { { { any depth... } } } },
}
Код: Выделить всё
def child_object(x):
return {x:x.child()}
Как бы вы поступили?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -hierarchy