首页 >后端开发 >Python教程 >如何在 Python 中递归打印嵌套字典中的所有值?

如何在 Python 中递归打印嵌套字典中的所有值?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-29 05:31:11648浏览

How to Recursively Print All Values from a Nested Dictionary in Python?

嵌套字典值的递归循环

问题陈述

给定一个嵌套字典,任务是遍历它的所有键值对,打印不是嵌套字典的值。对于嵌套字典,应该继续递归地遍历以打印其键值对。

解决方案

利用递归,可以定义一个函数来执行此任务:

def myprint(d):
    for k, v in d.items():
        if isinstance(v, dict):
            myprint(v)
        else:
            print("{0} : {1}".format(k, v))

该函数接受字典作为参数并迭代其键值对。如果值不是嵌套字典,则会打印键值对。如果该值是字典,它会使用这个新字典递归调用 myprint 函数。

示例

考虑以下字典:

d = {
    "xml": {
        "config": {
            "portstatus": {"status": "good"},
            "target": "1"
        },
        "port": "11"
    }
}

调用 myprint 函数将输出:

xml : {config: {portstatus: {status: good}, target: 1}, port: 11}
config : {portstatus: {status: good}, target: 1}
portstatus : {status: good}
target : 1
port : 11

该解决方案提供了递归机制来循环所有嵌套字典值并根据需要打印它们。

以上是如何在 Python 中递归打印嵌套字典中的所有值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn