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

如何将嵌套字典转换为同结构的嵌套元组?

解决嵌套字典值转嵌套元组的问题

可以通过递归函数处理这种嵌套结构的转换,核心逻辑是遍历字典的每个值,遇到字典就递归处理其内部值,最终将所有结果打包为元组。

实现代码

def dict_values_to_nested_tuple(d):
    tuple_elements = []
    for value in d.values():
        # 若当前值是字典,递归处理后加入列表
        if isinstance(value, dict):
            tuple_elements.append(dict_values_to_nested_tuple(value))
        # 非字典值直接加入列表
        else:
            tuple_elements.append(value)
    # 将列表转为元组返回
    return tuple(tuple_elements)

# 测试示例
dict1 = {'234':32,'345':7,'123':{'asd':{'pert': 600, 'sad':500}}}
result_tuple = dict_values_to_nested_tuple(dict1)
print(result_tuple)

输出说明

运行代码后会得到:(32, 7, ((600, 500),)),和你期望的((600, 500))本质等价——在Python中,((600, 500))只是带括号的元组表达式,实际和(600, 500)是同一个对象;而代码输出的((600, 500),)是包含元组的元组,完全对应原字典的嵌套层级(原字典中'123'对应一个字典,这个字典又对应一个字典,所以转换后是两层嵌套元组)。

适用场景

这个递归方法支持任意深度的嵌套字典,无论嵌套层级多少,都能准确匹配原结构生成对应的嵌套元组。

内容的提问来源于stack exchange,提问作者Дмитрий Кожин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:35:28