Построить дерево из списка уровней и родителей - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть ситуация, когда я должен проанализировать вывод функции на json и построить из нее графическое дерево. Ключи являются шахматными обозначениями доски, поэтому каждый дочерний узел включен в допустимые ходы родительского узла.

Моя форма диктовки выглядит следующим образом:

{position1: {position2: some_details, position3: some_details, position3: some_details,
position4: some_details, position5: some_details }. 

Он имеет глубину 1, потому что меня интересовало только какое-то значение в some_details, но на самом деле поиск по дереву, который я проводил, имел большую глубину. Каждый ключ и значение - это объект, и я знаю, кто является родителем каждого узла, набрав positionX.parent

Я хочу преобразовать этот словарь во вложенный словарь следующим образом:

{
position1:{somedetails, children: {position2:{somedetails, children:{}}, position3:{somedetails, children{position4:{somedetails, children:{}}}} etc
}

ПРИМЕР КОДА: Проблема dict выглядит следующим образом: defaultdict (класс 'MCTS.Nod', {'rnbqkbnr / pppppppp / 8/8/8 / 4P3 / PPPP1PPP / RNBQKBNR b KQkq - 0': объект MCTS.Nod, ' rnbqkbnr / pppp1ppp / 8 / 4p3 / 8 / 4P3 / PPPP1PPP / RNBQKBNR w KQkq - 0 ': объект MCTS.Nod в 0x7f27484d0828,' rnbqkbnr / ppppppp1 / 7p / PNP1PPP1PPPP / P1PPP1PPPPPPPPPPPPPPPPP / P1PPPPPPPPPP1PPPPPPPP1PPPP1PPPP1PPPP1PPPP1PPPPPRP Объект MCTS.Nod, 'rnbqkbnr / pp1ppppp / 8 / 2p5 / 8 / 4P3 / PPPP1PPP / RNBQKBNR w KQkq - 0': объект MCTS.Nod, 'r1bqkbnr / pppppppp / n7 / 8 / 8PQPP / PPK / PPK / PPK / PP - 1 ': объект MCTS.Nod,' rnbqkb1r / pppppppp / 5n2 / 8/8 / 4P3 / PPPP1PPP / RNBQKBNR w KQkq - 1 ': объект MCTS.Nod .....}

Каждый объект Node у него есть родитель в поле. Я хочу, чтобы каждый ребенок был вложен в его родителя.

Может ли кто-нибудь хотя бы направить меня в правильном направлении или сказать мне pythoni c способ сделать это? Спасибо много!

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