下面是一个示例代码,演示如何使用递归函数来实现在父子关系中附加项:
def add_item(node, item):
"""
在给定节点下添加一个项,如果节点没有子节点,就创建一个子节点。
"""
if 'children' not in node:
node['children'] = []
child_node = {'item': item}
node['children'].append(child_node)
return child_node
root = {'name': 'root'}
child1 = add_item(root, 'child1')
add_item(child1, 'grandchild1')
add_item(child1, 'grandchild2')
child2 = add_item(root, 'child2')
在这个例子中,我们从根节点开始,添加了两个子节点(child1和child2),然后添加了两个子节点到child1中。最后,这个节点以这个形式展示:
{
'name': 'root',
'children': [
{
'item': 'child1',
'children': [
{'item': 'grandchild1'},
{'item': 'grandchild2'}
]
},
{
'item': 'child2'
}
]
}