我有一个嵌套列表和字典的树,我需要递归地遍历并删除符合特定条件的整个字典。例如,我需要删除“type”为“Folder”且没有子项(或子项的空列表)的所有词典。在
我还是个初学者,所以请原谅我的暴力行为。在
下面是一个示例词典,它的格式便于复制和粘贴。在{'children': [{'children': [{'key': 'group-1',
'name': 'PRD',
'parent': 'dc-1',
'type': 'Folder'},
{'children': [{'key': 'group-11',
'name': 'App1',
'parent': 'group-2',
'type': 'Folder'}],
'key': 'group-2',
'name': 'QA',
'parent': 'dc-1',
'type': 'Folder'},
{'key': 'group-3',
'name': 'Keep',
'parent': 'dc-1',
'type': 'Host'}],
'key': 'dc-1',
'name': 'ABC',
'parent': 'root',
'type': 'Datacenter'}],
'key': 'root',
'name': 'Datacenters',
'parent': None,
'type': 'Folder'}
在这个字典中,唯一应该保留的树是/root/dc-1/group-3。应该先删除组11文件夹,然后删除其父文件夹(因为子文件夹已不存在),等等
我尝试过许多不同的递归方法,但似乎无法使其正常工作。任何帮助都将不胜感激。在
^{pr2}$