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

Python如何解析嵌套字典提取所有id并解决现有遍历代码报错问题

报错原因

遍历Python字典时默认遍历的是字典的键,b['cricket']是嵌套字典结构,for j in b['cricket']得到的j是字符串类型的键Arts & Entertainment,而非键对应的列表值。后续你对字符串j执行遍历操作,得到的k是单个字符,自然无法通过['id']的键索引方式取值,会触发类型错误。

正确提取代码

场景1:仅提取cricket字段下的所有id

for category, id_list in b["cricket"].items():
    for item in id_list:
        print(item["id"])

场景2:提取整个字典b中所有层级的id(包含顶层News, Media & Publications下的id)

all_ids = []
for value in b.values():
    # 处理字典类型的值(对应cricket字段)
    if isinstance(value, dict):
        for id_list in value.values():
            for item in id_list:
                all_ids.append(item["id"])
    # 处理列表类型的值(对应News, Media & Publications字段)
    elif isinstance(value, list):
        for item in value:
            all_ids.append(item["id"])

# 输出所有id
for id_val in all_ids:
    print(id_val)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:48:03