我有一个python嵌套字典,顺序不固定,并基于子count和size值更新父count和size值。但这两个值在最后一个嵌套的dict中都可用
输入Dict-
[{'name': 'stack', 'children':
[{'name': 'flow', 'children':
[{'name': 'lldp', 'children':
[{'name': 'sourc', 'children':
[{'name': 'lldque.jrc', 'count': '11', 'size': '37'}]}]},
{'name': 'arp', 'children':
[{'name': 'src', 'children':
[{'name': 'arpred.cec', 'count': '37', 'size': '67'}]}]}]}]}]
输出Dict应如下-
[{'name':'stack','count':'4','size':'6','children':
[{'name':'flow','count':'4','size':'6','children':
[{'name':'lldp','count':'1','size':'2','children':
[{'name':'sourc','count':'1','size':'2','children':
[{'name':'lldque.jrc','count':'1','size':'2'}]}]},
{'name':'arp','count':'3','size':'4','children':
[{'name':'src','count':'3','size':'4','children':
[{'name':'arpred.cec','count':'3','size':'4'}]}]}]}]}]
目前我正在使用下面的代码
def populateParentDict(ddict):
listl = []
if type(ddict) == list:
if 'children' in ddict[0]:
return populateParentDict(ddict[0])
else:
listl.append(ddict[0]['Buggy'])
listl.append(ddict[0]['Clean'])
elif 'children' in ddict:
return populateParentDict(ddict['children'])
return listl
目前没有回答
相关问题 更多 >
编程相关推荐