我尝试并看到了多个针对上述问题的解决方案,但没有找到适合我情况的解决方案。
我有以下字典列表。
我需要将此列表按以下方式转换为嵌套字典的列表
这使我得到了按级别分离的字典,但是我不能超越这段代码以实现我想要的解决方案。如有帮助,将不胜感激。谢谢!
input_list = [
{'k0':'v0','level':0,'row':0},
{'k1':'v1','level':1,'row':1},
{'k2':'v2','level':2,'row':2},
{'k3':'v3','level':2,'row':3},
{'k4':'v4','level':1,'row':4},
{'k5':'v5','level':2,'row':5},
{'k6':'v6','level':1,'row':6},
{'k7':'v7','level':0,'row':7},
{'k8':'v8','level':1,'row':8},
{'k9':'v9','level':2,'row':9},
]
我需要将此列表按以下方式转换为嵌套字典的列表
[
{'k0':'v0',
'level':0,
'child':[
{'k1':'v1','level':1,'child':[{'k2':'v2','level':2},
{'k3':'v3','level':2}]},
{'k4':'v4','level':1,'child':[{'k5':'v5','level':2}]},
{'k6':'v6','level':1}
]},
{'k7':'v7',
'level':0,
'child':[{'k8':'v8','level':1,'child':[{'k9':'v9','level':2}]}]}
]
我尝试的解决方案如下:
levels = dict()
for n in input_list:
levels.setdefault(n['level'], []).append(n)
这使我得到了按级别分离的字典,但是我不能超越这段代码以实现我想要的解决方案。如有帮助,将不胜感激。谢谢!