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

如何在嵌套dict(含list)中检查key存在性并正确输出DNE?

如何在嵌套字典查找中添加"DNE"输出逻辑?

我现在需要处理一个嵌套字典的key查找需求,具体情况如下:

给定的数据结构

data={ 
    'key_1':1, 
    'key_2':2, 
    'key_3':[ 
        { 
            'key_4':[4,5], 
            'key_5':[6,7], 
            'key_6':8 
        }, 
        { 
            'key_4':[9,10], 
            'key_5':[11,12], 
            'key_6':13 
        } 
    ], 
    'key_7':14 
}

需求目标

  • 接收用户输入的一个key,检查它是否存在于这个嵌套的字典结构中(包括字典里列表中的子字典)
  • 如果存在,输出该key对应的所有值,格式参考示例
  • 如果不存在,输出DNE

示例效果

  • 输入:key_5
  • 输出:([6,7],[11,12])
  • 输入:key_8
  • 输出:DNE

我目前写的代码

key = input()
def find_key(data,key):
    if key in data:
        print(data[key])
        return
    for k, v in data.items():
        if isinstance(v,list):
            for x in v:
                if isinstance(x,dict) and find_key(x,key) is not None:
                    print(find_key(x,key))
find_key(data,key)

现在的问题是,我不确定应该把输出DNE的逻辑加在代码的哪个位置,才能正确判断key完全不存在的情况并输出对应的内容。希望能得到大家的帮助!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:42:29