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

如何用Python单行函数实现字典值按指定映射表替换

Python字典值替换单行实现方案

错误原因分析

你之前编写的字典推导式逻辑为替换字典的键(key),而需求是替换字典的值(value),因此无法得到正确结果。

正确单行实现

方案1:生成新字典(不修改原字典对象)

和你原有普通函数逻辑完全对齐,仅对字符串类型的值做映射替换:

mi_data = {k: map_to_A.get(v, v) if isinstance(v, str) else v for k, v in mi_data.items()}

方案2:直接修改原字典(无需重新赋值)

如果需要和原函数一样直接修改原字典对象,可以用update方法实现:

mi_data.update((k, map_to_A.get(v, v)) for k, v in mi_data.items() if isinstance(v, str))

效果验证

对示例输入执行上述任意单行代码后,mi_data的输出结果为:

{'aggrLevel': 'region', 'capType': 'VTL_EXPO', 'date': '2021-03-29', 'Business': 'VTTL'}

完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:57:03