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

Python中如何高效存储多个Node类实例并按ID快速访问?

最符合Python风格的Node实例存储与ID访问方案

直接用Python内置的**字典(dict)**是最优解,完美适配你的需求:ID无规律、实例可动态增删、按ID访问能达到O(1)的时间复杂度。

具体实现方式

  • 初始化存储字典:
    node_dict = {}
    
  • 添加Node实例:
    new_node = Node([1,2,3], 1001)
    node_dict[new_node.ID] = new_node
    
  • 按ID快速访问实例:
    # 用get方法避免ID不存在时抛出KeyError,找不到返回None
    target_node = node_dict.get(1001)
    # 确定ID存在时,可直接取值
    target_node = node_dict[1001]
    
  • 删除指定ID的Node实例:
    del node_dict[1001]
    # 用pop方法可同时获取被删除的实例,第二个参数为ID不存在时的默认返回值
    removed_node = node_dict.pop(1001, None)
    

额外提示

  • Python 3.7及以上版本的字典默认维护插入顺序,无需额外使用OrderedDict。
  • 遍历所有Node实例时,直接遍历字典的值即可:
    for node in node_dict.values():
        print(node.ID, node.x, node.y, node.z)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:20:43