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

如何在Python中按name值索引JSON数据?

按name值查找JSON列表中的字典

你完全可以通过属性值定位目标字典,这比固定索引可靠得多,推荐两种Pythonic的写法:

1. 单次查找用生成器表达式 + next()

先拿到处理后的分类列表:

import json

# 完成初始索引处理得到分类列表
categories = json.loads(response.text)[...][...]

# 查找第一个name为'foo_baz'的字典
target = next(item for item in categories if item['name'] == 'foo_baz')

如果担心找不到匹配项抛出StopIteration异常,可以给next()加默认值,找不到时返回None:

target = next((item for item in categories if item['name'] == 'foo_baz'), None)

2. 多次查找转成字典映射

如果需要频繁按name查找,先把列表转成以name为键的字典,后续查找效率更高:

category_map = {item['name']: item for item in categories}
target = category_map.get('foo_baz')  # 找不到返回None

⚠️ 注意:如果列表中有多个name相同的字典,转成字典时后面的项会覆盖前面的,需要确认你的数据中name是唯一的。

这种基于内容属性的查找方式,完全不受列表元素新增、顺序变化的影响,比固定索引和try-except写法更简洁可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:20:01