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

Python如何在嵌套字典中查找固定键'rows'对应的列表

定位嵌套字典中的"rows"列表

你直接用my_dict.get("rows")找不到是因为rows不在字典的顶层,而是藏在fields列表里的某个元素的value字典中。下面是两种实用的解决方法:

方法一:循环遍历查找

先拿到fields列表,然后逐个检查里面的元素:

# 先获取fields列表
fields_list = my_dict['inputContent']['document']['fields']
target_rows = None

for field_item in fields_list:
    # 先确保当前项有'value'键,且value里包含'rows'
    if 'value' in field_item and 'rows' in field_item['value']:
        target_rows = field_item['value']['rows']
        break  # 找到第一个匹配项就停止遍历

if target_rows:
    print("找到目标rows列表:", target_rows)
else:
    print("未找到包含rows的项")

方法二:列表推导式批量筛选

如果可能存在多个包含rows的项,可以用这种方式一次性找出所有符合条件的rows:

fields_list = my_dict['inputContent']['document']['fields']
all_matching_rows = [
    item['value']['rows'] 
    for item in fields_list 
    if 'value' in item and 'rows' in item['value']
]

# 取第一个匹配结果(记得先判断列表是否为空)
if all_matching_rows:
    target_rows = all_matching_rows[0]
    print("找到rows列表:", target_rows)
else:
    print("没有找到rows列表")

注意事项

  • 遍历过程中加'value' in item和'rows' in item['value']的判断,是为了避免出现KeyError(比如某个fields项没有value键,或者value里没有rows)。
  • dict.get()方法只能查询当前层级的键,不会自动深入嵌套的字典或列表,所以直接用它找不到深层的rows。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 05:45:34