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

如何在Python中将含重复键的字典转为唯一键字典?

实现重复键值合并为列表的字典转换

首先要明确:Python原生字典不允许重复键,你给出的原始字典代码实际运行时,重复的et键会被最后一个值覆盖,最终et的取值只有"test2",前面的键值对会直接丢失。所以要实现你的需求,必须先把所有键值对以可迭代序列(比如列表)的形式保存,再进行处理。

具体实现步骤:

  1. 先将所有键值对整理为列表(这是原始数据的正确存储方式,避免键被覆盖):
key_value_pairs = [
    ("Accompagner", "Accompagner"),
    ("Belfort", "Belfort"),
    ("pour", "pour"),
    ("ACC", "ACC"),
    ("et", "et"),
    ("optimisation", "Optimisation"),
    ("de", "de"),
    ("flux", "flux"),
    ("d", "d"),
    ("un", "une"),
    ("et", "testA"),
    ("et", "test2"),
]
  1. 编写处理代码,将重复键的值合并为列表:
result_dict = {}
for key, value in key_value_pairs:
    if key in result_dict:
        # 若键已存在,将现有值转为列表(如果还不是列表)再追加新值
        if not isinstance(result_dict[key], list):
            result_dict[key] = [result_dict[key]]
        result_dict[key].append(value)
    else:
        # 键不存在时直接赋值
        result_dict[key] = value
  1. 运行后得到的结果就是你需要的目标字典:
{
  'Accompagner': 'Accompagner',
  'Belfort': 'Belfort',
  'pour': 'pour',
  'ACC': 'ACC',
  'et': ['et', 'testA', 'test2'],
  'optimisation': 'Optimisation',
  'de': 'de',
  'flux': 'flux',
  'd': 'd',
  'un': 'une'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 22:57:40