如何在给定嵌套列表的情况下构造具有可变深度的多级字典?

Patricia Arquette
发布: 2024-10-17 11:10:30
原创
271 人浏览过

How to Construct a Multi-Level Dictionary with Variable Depth Given a Nested List?

构建一个不同深度的多级字典

问题:

如何构建一个多级字典具有可变深度,给定嵌套值列表?考虑以下示例列表:

<code>[A][B1][C1] = 1
[A][B1][C2] = 2
[A][B2] = 3
[D][E][F][G] = 4</code>
登录后复制

所需的输出是类似于以下结构的多级字典:

<code>A
--B1
-----C1 = 1
-----C2 = 1
--B2 = 3
D
--E
----F
------G = 4</code>
登录后复制

解决方案:

使用 defaultdict 模块中的 collections,可以动态创建嵌套字典,而不需要硬编码插入语句。当未找到现有键时,defaultdict 返回默认值。实现方式如下:

<code class="python">from collections import defaultdict

# Define a function to create a nested dictionary with any level of depth
nested_dict = lambda: defaultdict(nested_dict)

# Create the nested dictionary using the nested_dict function
nest = nested_dict()

# Populate the nested dictionary with the given data
nest[0][1][2][3][4][5] = 6

print(nest)</code>
登录后复制

此代码将创建一个深度为 7 的嵌套字典,其中键 [0][1][2][3][4][5] 的值设置为 6。可以使用以下方式访问嵌套字典相同的密钥结构,允许动态创建和检索各个级别的数据。

以上是如何在给定嵌套列表的情况下构造具有可变深度的多级字典?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板