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

如何在Python中将值为元组的字典转换为嵌套字典?

如何将Python字典中的元组值转换为嵌套字典?

原始输入字典

original_dict = {
    1: (0, 4, 12, 27, 25, 58),
    2: (4, 0, 24, 16, 29, 38),
    3: (12, 24, 0, 31, 14, 30),
    4: (27, 16, 31, 0, 21, 8),
    5: (25, 29, 14, 21, 0, 11),
    6: (58, 38, 30, 8, 11, 0)
}

目标嵌套字典格式

{
    1: {1: 0, 2: 4, 3: 12, 4: 27, 5: 25, 6: 58},
    2: {1: 4, 2: 0, 3: 24, 4: 16, 5: 29, 6: 38},
    3: {1: 12, 2: 24, 3: 0, 4: 31, 5: 14, 6: 30},
    4: {1: 27, 2: 16, 3: 31, 4: 0, 5: 21, 6: 8},
    5: {1: 25, 2: 29, 3: 14, 4: 21, 5: 0, 6: 11},
    6: {1: 58, 2: 38, 3: 30, 4: 8, 5: 11, 6: 0}
}

实现方法

方法1:字典推导式(简洁高效)

利用字典推导式结合zip,将1-6的内层键与元组元素一一对应:

result = {
    outer_key: {inner_key: val for inner_key, val in zip(range(1, 7), outer_val)}
    for outer_key, outer_val in original_dict.items()
}

方法2:普通循环(直观易懂)

通过两层循环逐个构建内层字典,适合新手理解:

result = {}
for outer_key, outer_val in original_dict.items():
    inner_dict = {}
    # 元组索引从0开始,内层键从1开始,所以索引+1得到对应键
    for idx, val in enumerate(outer_val):
        inner_dict[idx + 1] = val
    result[outer_key] = inner_dict

两种方法都能生成目标格式的嵌套字典,执行后打印result即可验证结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:25:17