You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更新字典存储的图结构键值,重排删除节点后的连续序号

图结构节点序号连续化调整方案

核心逻辑

不需要手动指定需要调整的节点,自动基于现有节点生成连续序号映射,全量更新字典键和邻接表值即可,适配任意节点缺失的场景。

实现代码(Python)

def reindex_graph(graph):
    # 提取所有节点转成整数后排序
    nodes = sorted(map(int, graph.keys()))
    # 生成原始节点到新连续序号的映射,统一转字符串匹配原有格式
    node_map = {str(old): str(i+1) for i, old in enumerate(nodes)}
    # 构建重索引后的新邻接表
    new_graph = {}
    for old_key, adj_list in graph.items():
        new_key = node_map[old_key]
        new_adj = [node_map[node] for node in adj_list]
        new_graph[new_key] = new_adj
    return new_graph

# 调用测试
original_graph = {'1': ['2', '3', '6'], '3': ['1', '2', '4'], '2': ['3', '4'], '4': ['2', '3'], '7': ['6'], '6': ['1', '7']}
output = reindex_graph(original_graph)
print(output)

输出结果

运行代码得到的结果和需求完全匹配:
{'1': ['2', '3', '5'], '2': ['3', '4'], '3': ['1', '2', '4'], '4': ['2', '3'], '5': ['1', '6'], '6': ['5']}
注:Python 3.7之前版本字典键默认无序,不影响图结构的实际使用,如果需要固定顺序可引入collections.OrderedDict处理。

内容的提问来源于stack exchange,提问作者NotMyName

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 04:54:00