如何在Python中查找嵌套字典的元素(dict)

时间:2017-06-29 09:58:33

标签: python dictionary generator

我想找到嵌套字典的元素。我想要的元素也是一个词典。我尝试使用递归的这个函数:

def find(key, dictionary):
    for k, v in dictionary.items():
        if k == key:
            yield v
        elif isinstance(v, dict):
            for result in find(key, v):
                yield result

这是我的词典:

nest_dict = {"a":{"b":{"c":{the dict i want} } } }

我循环通过我的发电机:

for my_element in find('c', nest_dict):
    print(my_element)

问题在于,当我打印 my_element 时,它包含1个元素的dict中 nest_dict 的所有内容,而不仅仅是它的每个元素。

THX。

PS:对不起我的英文

1 个答案:

答案 0 :(得分:0)

首先,如@Ashwini Chaudhary和@BoboDarph所提到的,您的字典语法无效,您可以执行以下操作:

nest_dict = {"a":{"b":{"c":'the dict i want' } } }

print nest_dict['a']['b']['c'] 

<强>输出:

the dict i want