You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从含各级键的列表列表创建任意深度的嵌套字典?

生成指定结构的嵌套字典

我来帮你搞定这个多级嵌套字典的生成问题!根据你给出的示例,我们可以通过从内到外逐层构建的方式来实现需求。

实现思路

核心思路是从最内层(最后一个子列表)开始,逐层向外扩展:

  1. 先创建最底层的字典,每个键对应空列表;
  2. 倒序遍历前面的每一层,把当前已构建的字典作为上一层每个键的值(注意要复制字典,避免所有键共享同一个引用);
  3. 最终得到完整的嵌套结构。

代码实现

def build_nested_dict(levels):
    if not levels:
        return {}
    # 初始化最内层字典:最后一层的键对应空列表
    current_dict = {key: [] for key in levels[-1]}
    # 从倒数第二层开始,逐层向上构建
    for level in reversed(levels[:-1]):
        # 为当前层的每个键复制一份当前的字典作为值
        current_dict = {key: current_dict.copy() for key in level}
    return current_dict

# 测试你的示例
DL = [['A1'],['A11','A12'],['B1'],['B11','B12']]
result = build_nested_dict(DL)
print(result)

输出结果

运行上述代码后,你会得到完全符合需求的嵌套字典:

{'A1': {'A11': {'B1': {'B11': [], 'B12': []}}, 'A12': {'B1': {'B11': [], 'B12': []}}}}

额外说明

  • 如果输入的层级列表只有一层(比如DL = [['X', 'Y']]),函数会直接返回{'X': [], 'Y': []},符合预期;
  • 使用copy()是为了确保每一层的每个键都拥有独立的子字典,避免修改一个键的子结构时影响其他键。

内容的提问来源于stack exchange,提问作者StackJack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:58:04