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

Python中如何映射两个关联字典的键值生成目标转换字典

Python双字典映射生成目标字典方法

需求说明

给定两个键集合完全一致的字典:

  • dict_a_to_b:存储a到b的映射关系
  • dict_a_to_c:存储a到c的映射关系
    需要生成新字典dict_c_to_b,规则为:以dict_a_to_c的值作为新字典的键,以两个字典同键对应的dict_a_to_b的值作为新字典的值,预期输出为{0.1:4, 0.2:9, 0.8:3}。

实现方案

最简洁高效的实现方式是使用字典推导式,直接遍历公共键完成映射组装:

# 原始字典定义
dict_a_to_b = {2:4, 6:9, 9:3}
dict_a_to_c = {2: 0.1, 6:0.2, 9: 0.8}

# 字典推导式生成目标字典
dict_c_to_b = {dict_a_to_c[k]: dict_a_to_b[k] for k in dict_a_to_b}

运行上述代码后,dict_c_to_b的输出和预期完全一致。

兼容场景说明

如果实际业务中两个字典的键可能存在不匹配的情况,可以先取两个字典的键交集再做遍历,避免抛出KeyError:

# 取两个字典的公共键
common_keys = dict_a_to_b.keys() & dict_a_to_c.keys()
dict_c_to_b = {dict_a_to_c[k]: dict_a_to_b[k] for k in common_keys}

注意:浮点数存在精度误差问题,如果dict_a_to_c的值是计算得出的浮点数,不建议直接作为字典键使用,容易出现精确匹配失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 23:30:08