首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在任意深度的嵌套字典上行走/迭代(字典代表目录树)

在任意深度的嵌套字典上行走/迭代(字典代表目录树),可以使用递归或队列方法。以下是一个使用递归方法的Python示例:

代码语言:python
代码运行次数:0
复制
def iterate_nested_dict(d, path=None):
    if path is None:
        path = []

    for k, v in d.items():
        if isinstance(v, dict):
            yield from iterate_nested_dict(v, path + [k])
        else:
            yield path + [k], v


nested_dict = {
    'a': {
        'b': {
            'c': 1
        },
        'd': 2
    },
    'e': 3
}

for path, value in iterate_nested_dict(nested_dict):
    print(f"Path: {path}, Value: {value}")

输出:

代码语言:txt
复制
Path: ['a', 'b', 'c'], Value: 1
Path: ['a', 'd'], Value: 2
Path: ['e'], Value: 3

这个示例中,我们定义了一个名为iterate_nested_dict的函数,它接受一个嵌套字典d和一个可选的path参数。path参数用于存储当前遍历的路径。我们使用yield from语句来递归地遍历嵌套字典,并在每次迭代时返回当前路径和值。

在这个示例中,我们使用了一个名为nested_dict的嵌套字典。我们调用iterate_nested_dict函数并传入nested_dict,然后使用for循环遍历返回的路径和值。

这个示例可以很容易地扩展到其他编程语言,只需实现一个递归函数来遍历嵌套字典。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券