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

如何在Python字典键不变的前提下反转各键对应的值?

实现方案

Python 3.7+ 版本字典原生支持插入顺序保留,直接按以下代码处理即可,完全满足键内容、顺序不变,仅反转映射值的需求:

role_positions = {"role1": 1, "role2": 2, "role3": 3}

reversed_values = list(role_positions.values())[::-1]
role_positions = dict(zip(role_positions.keys(), reversed_values))

运行后打印role_positions即可得到目标结果:

{'role1': 3, 'role2': 2, 'role3': 1}

实现逻辑

  • 调用values()方法按字典原键顺序取出所有映射值,转为列表后得到[1, 2, 3]
  • 通过切片[::-1]将值列表倒序,得到[3, 2, 1]
  • 用zip将原顺序的键序列和倒序后的值序列按位置一一配对,转为字典后即可保证键的内容、顺序和原字典完全一致,仅对应的值完成反转。

兼容说明:如果使用Python 3.6及更早版本,原生字典不保证插入顺序,需要使用collections.OrderedDict替代普通字典做上述操作,目前主流生产环境的Python版本均为3.7及以上,无特殊兼容需求可忽略该说明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:57:16