如何在嵌套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
相关产品推荐
相关产品推荐

