问题:
如何构建一个多级字典具有可变深度,给定嵌套值列表?考虑以下示例列表:
<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中文网其他相关文章!