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

如何从list或series生成可变深度的嵌套字典

嵌套字典生成函数实现

你可以用两种方案实现需求,分别适配极简写法和易扩展场景:

方案1:reduce极简实现

利用Python内置的functools.reduce倒序遍历列表逐层生成嵌套结构:

from functools import reduce

def nested_dict_generator(input_list):
    return reduce(lambda val, key: {key: val}, reversed(input_list))

实现逻辑:将输入列表倒序后,从最内层的最后一个元素开始,逐层向外用前一个元素作为key包裹当前字典,最终得到完整嵌套结构。

方案2:递归实现(可读性更高,方便后续扩展)

通过递归逐层拆解列表生成嵌套字典:

def nested_dict_generator(input_list):
    if len(input_list) == 1:
        return input_list[0]
    return {input_list[0]: nested_dict_generator(input_list[1:])}

实现逻辑:只要列表长度大于1,就取第一个元素作为key,剩下的列表递归生成的结果作为value;直到列表只剩最后一个元素时直接返回,作为最内层的值。


效果验证

# 测试用例1
ex = [1,2,3,4]
print(nested_dict_generator(ex)) 
# 输出:{1: {2: {3: 4}}}

# 测试用例2
ex2 = ["a","b","c","d","e"]
print(nested_dict_generator(ex2))
# 输出:{'a': {'b': {'c': {'d': 'e'}}}}

两种方案都支持任意长度≥2的列表输入,兼容数值、字符串等所有合法的字典key类型。

内容的提问来源于stack exchange,提问作者Gustavo Zárate

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:57:02