繁体   English   中英

如何在字典中递归地键入一个键并返回它的值

[英]How to a key recursively in a dictionary and return it's value

我有一个嵌套字典,如下所示

dictionary = {"name": "Stephen", "language": "English", "address": "13 Aust road", "teacher_info": [{"name": "Alan", "language": "Italian"}]}

我想返回语言。

Output = ["English", "Italian"]

我试过什么

output = []

for i, j in dictionary.items():
    if i == "language":
        output.appened(j)

对于这样的事情,递归是你的朋友。 下面的 function 将找到名为 language 的键并将它们的值添加到列表中。 如果字典中的任何项目本身就是字典,我们也会做同样的事情。 我们将嵌套字典中的语言连接到顶层列表。 没有任何语言的字典的基本情况是一个空列表。

def get_languages(dictionary):
    output = []

    for key, value in dictionary.items():
        if key == "language":
             output.appened(value)
        elif isinstance(value, dict):
            output += get_languages(value)
    return output

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM