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
相关产品推荐
相关产品推荐

