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

按祖先分组条目:如何高效构建指定嵌套字典结构

高效构建层级字典的方法

给定数组:

l = ["1", "1.1", "1.1.1", "2", "3"]

需要构建的目标字典结构:

d = {"1": [{"1.1": [{"1.1.1": []}]}], "2": [], "3": []}

实现思路

遍历数组中的每个元素,将元素按.拆分成层级路径片段,从根字典开始逐层构建结构:

  • 若当前片段是路径的最后一级,直接在当前层级下创建键,值设为空列表
  • 若不是最后一级,检查当前层级是否存在该键,不存在则创建值为[{}]的键(匹配目标结构中父节点值为包含子字典的列表的格式),然后进入子字典继续处理下一层

代码实现

l = ["1", "1.1", "1.1.1", "2", "3"]
result = {}

for item in l:
    parts = item.split('.')
    current_level = result
    for idx, part in enumerate(parts):
        if idx == len(parts) - 1:
            # 叶子节点,设置为空列表
            if part not in current_level:
                current_level[part] = []
        else:
            # 非叶子节点,创建包含子字典的列表(若不存在)
            if part not in current_level:
                current_level[part] = [{}]
            # 进入下一层的字典
            current_level = current_level[part][0]

print(result)

运行这段代码后,即可得到目标字典结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:18