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

Python快速从JSON数据中批量查询匹配name对应id的高效方法

优化实现方案

核心优化逻辑是将JSON数据预处理为name到id的映射字典,把原来嵌套循环的O(N*M)时间复杂度降为O(N+M),N为JSON总数据量、M为待查询名称数量,性能提升幅度可达数百倍。

具体实现步骤:

  • 加载JSON文件后,一次性遍历所有条目构建映射字典,5万条数据的构建开销在毫秒级
  • 遍历待查询名称数组,直接从字典中取值,每次查询都是O(1)操作,数千次查询几乎无额外开销

完整代码示例:

import json

file_name = "database.json"
items = ['Cannonball', 'Cannon furnace','Bucket of wax']
id_array = []

# 加载JSON并构建映射字典
with open(file_name, 'r') as f:
    document = json.load(f)
name_to_id = {entry['name']: entry['id'] for entry in document}

# 批量查询id,以下代码兼容不存在的名称场景,不需要容错可直接取值
for item_name in items:
    if item_name in name_to_id:
        id_array.append(name_to_id[item_name])

如果你的name存在重复的情况,可以调整字典构建逻辑,把重复name对应的id存为列表即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:39:04