Каков наиболее эффективный способ обхода дерева в Python?

Предположим, у меня есть список объектов со следующими полями

parent

value

, и это определяет древовидную структуру, аналогичную дереву каталогов.

Я хочу пройтись по list в режиме предварительного заказа. Каков наиболее эффективный способ?

Обычно в других (более императивных) языках я бы перебирал значения, находя те, у которых нет родителей, а затем для каждого, повторяя снова для каждого объекта, чей родитель - тот, который я сейчас ищу в и так далее, но есть ли более умный способ сделать это в Python?

5
задан Peter Mortensen 24 September 2015 в 20:48
поделиться