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

如何批量修改字典中的键 实现指定的键值映射关系

Python 批量修改字典键的实现方案

Python 没有内置的批量修改字典键的语法,但可以通过字典推导式快速实现该需求,这是目前最简洁高效的实现方式。

针对示例场景的实现

你的需求是将原字典的键按照 0→1、1→2、2→0 的规则映射,直接通过规则运算生成新键即可:

mydict = {0: 0.0, 1: 1.1, 2: 2.2}
newdict = {(k + 1) % 3: v for k, v in mydict.items()}

运行后得到的newdict就是你需要的{1: 0.0, 2: 1.1, 0: 2.2}。

通用批量改键方案

如果新旧键没有统一的运算规则,你可以提前定义好新旧键的映射表,再通过字典推导式生成新字典:

mydict = {0: 0.0, 1: 1.1, 2: 2.2}
# 自定义新旧键映射关系
key_map = {0: 1, 1: 2, 2: 0}
newdict = {key_map[k]: v for k, v in mydict.items()}

注意事项

  • 确保映射后的新键没有重复,否则后续的键值对会覆盖之前的同名键值,符合字典的常规特性。
  • 该方案时间复杂度为O(n),即使处理大体积字典也不会有明显性能损耗。
  • 如果你需要原地修改原字典而不生成新字典,可以用以下写法:
mydict = {0: 0.0, 1: 1.1, 2: 2.2}
key_map = {0: 1, 1: 2, 2: 0}
# 先暂存新的键值对
temp_items = {key_map[k]: v for k, v in mydict.items()}
mydict.clear()
mydict.update(temp_items)

内容的提问来源于stack exchange,提问作者周鼎杰。

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:06