I tried and saw multiple solutions for the above question but could not find a solution that suits my case. I have following list of dictionaries.
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},
]
and I need to convert this list to list of nested dictionaries in the following way
[
{'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}]}]}
]
Solutions which I tried are as follow
levels = dict()
for n in input_list:
levels.setdefault(n['level'], []).append(n)
this gives me dictionaries with levels separated but I couldn't move past this code for my desired solution
Any help would be appreciated. Thanks!