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

如何在Python中查找嵌套dict的元素(dict),python,dictionary,generator,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 这

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

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)
问题是,当我打印我的\u元素时,它将嵌套的所有内容都包含在1个元素的dict中,而不仅仅是其中的每个元素

Thx


PS:对不起,我的英语

首先,正如@Ashwini Chaudhary和@BoboDarph提到的,您的词典语法无效,无法执行您要求的操作。您可以执行以下操作:

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

print nest_dict['a']['b']['c'] 
输出:

the dict i want

这甚至不是有效的dict语法。忽略示例dict和代码的错误语法,获取所需嵌套字典的最简单方法是对其应用get 3次。在您的简单示例中,假设您想要与键“c”关联的字典,那么您所需要做的就是嵌套dict.get('a')。get('b')。get('c')。在我看来,输出是正确的。你能告诉我们你得到的和你期望得到的产量吗?