我有这样的数据,它代表了层次树结构:
[
{
"level":0,
"name":"python"
},
{
"level":1,
"name":"food"
},
{
"level":2,
"name":"banana"
},
{
"level":3,
"name":"protein"
},
{
"level":2,
"name":"apple"
},
{
"level":1,
"name":"fuel"
}
]
我想把它转换成:
[
{
"level":0,
"name":"python",
"children":[
{
"level":1,
"name":"food",
"children":[
{
"level":2,
"name":"banana",
"children":[
{
"level":3,
"name":"protein",
"children":[
]
}
]
},
{
"level":2,
"name":"apple",
"children":[
]
}
]
},
{
"level":1,
"name":"fuel",
"children":[
]
}
]
}
]
我正在使用Python,希望Python中的解决方案使用或不使用外部库,(甚至使用Pandas)。我很想看到解决方案,提前感谢:)
2条答案
按热度按时间xdnvmnnf1#
我认为字典在列表中的顺序很重要,否则我就不知道子字典应该列在哪个父字典下,我建议编写一个递归函数来获取n层的最后一个元素,并将子字典追加到n层:
输出:
zysjyyx42#
这里有一种方法:
这就是你想要的