如何从json.load生成的list of dictionaries中筛选指定ID值的条目?
提取字典列表中指定ID的条目
当使用json.load读取JSON文件后,得到的是字典组成的列表(如示例中的config_items_list),要提取所有ID字段匹配指定值的条目,可以用以下几种方法:
方法1:列表推导式(简洁高效)
这种方式适合快速筛选,同时可以处理ID值带额外双引号的情况:
# 目标ID(不带额外引号) target_id = "123456" # 遍历列表,清理ID的双引号后匹配 filtered_items = [item for item in config_items_list if item['ID'].strip('"') == target_id]
如果确认字典里的ID格式固定带双引号,也可以直接匹配:
target_id = "\"123456\"" filtered_items = [item for item in config_items_list if item['ID'] == target_id]
方法2:循环遍历(直观易懂)
适合需要额外处理逻辑的场景,步骤清晰:
target_id = "123456" filtered_items = [] for item in config_items_list: # 去除ID值前后的双引号 cleaned_id = item['ID'].strip('"') if cleaned_id == target_id: filtered_items.append(item)
执行后,filtered_items就是所有符合条件的字典条目,示例中会返回ID为"123456"的2条数据。
内容的提问来源于stack exchange,提问作者bsethi24
相关产品推荐
相关产品推荐

