从级别和父级列表中构建一棵树

时间:2020-04-19 11:04:36

标签: python json dictionary tree

我有一种情况,我必须将函数的输出解析为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
}

代码示例: 问题字典看起来像这样: 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 / ppppppppp1 / 7p / 8/8 / 4P3 / PPPP1PPP / RNBQKBNR w KQkq-0':MCTS.Nod对象,'rnbqkbnr / pp1ppppp / 8 2p5 / 8 / 4P3 / PPPP1PPP / RNBQKBNR w KQkq-0':MCTS.Nod对象,'r1bqkbnr / pppppppppp / n7 / 8/8 / 4P3 / PPPP1PPP / RNBQKBNR w KQkq-1':MCTS.Nod对象,'rnbqkb1r / pppppppp / 5n2 / 8/8 / 4P3 / PPPP1PPP / RNBQKBNR w KQkq-1':MCTS.Nod对象.....}

每个Node对象在一个字段中都有它的父对象。我希望每个孩子都被嵌套在其父母中。

至少有人可以引导我朝正确的方向发展,还是告诉我一种有效的方法? 非常感谢!

0 个答案:

没有答案