按照父ID递归搜索后代
创始人
2024-08-24 01:00:07
0

以下是一个按照父ID递归搜索后代的代码示例:

def search_descendants(nodes, parent_id):
    descendants = []
    for node in nodes:
        if node['parent_id'] == parent_id:
            descendants.append(node)
            descendants.extend(search_descendants(nodes, node['id']))
    return descendants

在这个示例中,nodes 是一个包含节点信息的列表,每个节点由一个字典表示,其中包含了节点的 idparent_idparent_id 表示该节点的父节点的 id。函数 search_descendants 的参数是节点列表和要搜索的父节点的 id

函数首先创建一个空列表 descendants 用于存储所有后代节点。然后遍历节点列表,对于每个节点,如果它的 parent_id 等于给定的父节点的 id,则将该节点添加到 descendants 列表中,并递归调用 search_descendants 函数来搜索该节点的后代节点。最后,返回所有后代节点的列表。

以下是一个使用示例:

nodes = [
    {'id': 1, 'parent_id': None},
    {'id': 2, 'parent_id': 1},
    {'id': 3, 'parent_id': 1},
    {'id': 4, 'parent_id': 2},
    {'id': 5, 'parent_id': 2},
    {'id': 6, 'parent_id': 3},
    {'id': 7, 'parent_id': 3},
    {'id': 8, 'parent_id': 4},
    {'id': 9, 'parent_id': 4},
]

descendants = search_descendants(nodes, 1)
print(descendants)

输出结果为:

[
    {'id': 2, 'parent_id': 1},
    {'id': 4, 'parent_id': 2},
    {'id': 5, 'parent_id': 2},
    {'id': 8, 'parent_id': 4},
    {'id': 9, 'parent_id': 4},
    {'id': 3, 'parent_id': 1},
    {'id': 6, 'parent_id': 3},
    {'id': 7, 'parent_id': 3}
]

这个示例中,给定的父节点的 id 是 1,函数会搜索父节点为 1 的所有后代节点,并将它们存储在列表 descendants 中返回。

相关内容

热门资讯

透视最新(WPK)都是真的是有... 透视最新(WPK)都是真的是有挂(透视)wpk模拟器(透视教程)wpk模拟器辅助器中分为三种模型:w...
透视黑科技(WPK)原来真的有... 透视黑科技(WPK)原来真的有挂(透视)wpk透视是真的假的(软件教程);运wpk透视是真的假的辅助...
透视实锤(WPK)切实是有挂(... 透视实锤(WPK)切实是有挂(透视)购买的wpk辅助在哪里下载(揭秘教程)1、购买的wpk辅助在哪里...
透视黑科技(WPK)好像是有挂... 透视黑科技(WPK)好像是有挂(透视)wpk是真的还是假的(攻略教程)1、下载好wpk是真的还是假的...
透视安装(WPK)一直真的是有... 透视安装(WPK)一直真的是有挂(透视)wpk官网下载链接(德州教程);进入游戏-大厅左侧-新手福利...
透视肯定(WPK)果然存在有挂... 透视肯定(WPK)果然存在有挂(透视)微扑克微乐辅助(微扑克教程);1、完成微扑克微乐辅助的残局,帮...
透视好牌(WPK)果然有挂(透... 透视好牌(WPK)果然有挂(透视)wpk俱乐部辅助器(曝光教程);1、不需要AI权限,帮助你快速的进...
透视黑科技(WPK)原来真的是... 透视黑科技(WPK)原来真的是有挂(透视)wpk有作弊吗(2025新版)1、实时wpk有作弊吗开挂更...
透视挂透视(WPK)本来真的有... 透视挂透视(WPK)本来真的有挂(透视)wpk辅助是什么(微扑克教程)1、下载好wpk辅助是什么辅助...
透视好友房(WPK)都是是有挂... 透视好友房(WPK)都是是有挂(透视)wpk官网下载链接(AI教程);1、这是跨平台的wpk官网下载...