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

如何按'-'分割字典复合键并生成新的键值映射

复合键拆分的字典转换实现方法

需求说明:将原字典中包含'-'的复合键按'-'拆分为独立单词,每个拆分后的单词键都映射到原键对应的值,非复合键保持原映射关系,最终得到目标字典。

方法一:常规循环实现

通过遍历原字典的键值对,逐个处理每个键:

original_dict = {'coin-dollar': 'money', 'banana': 'fruit', 'carrot-pea-pepper': 'vegetable'}
result_dict = {}

# 遍历原字典的每一组键值对
for key, value in original_dict.items():
    # 判断当前键是否为复合键
    if '-' in key:
        # 拆分复合键为单个单词列表
        sub_keys = key.split('-')
        # 将每个拆分后的单词作为新键,映射到原值
        for sub_key in sub_keys:
            result_dict[sub_key] = value
    else:
        # 非复合键直接存入结果字典
        result_dict[key] = value

print(result_dict)

方法二:字典推导式简化实现

用Python的字典推导式可以更简洁地完成转换,逻辑和循环方法一致:

original_dict = {'coin-dollar': 'money', 'banana': 'fruit', 'carrot-pea-pepper': 'vegetable'}

result_dict = {
    sub_key: value
    for key, value in original_dict.items()
    # 对每个键,要么拆分后遍历,要么直接取原键
    for sub_key in (key.split('-') if '-' in key else [key])
}

print(result_dict)

两种方法执行后都会输出目标字典:

{'coin': 'money', 'dollar': 'money', 'banana': 'fruit', 'carrot': 'vegetable', 'pea': 'vegetable', 'pepper': 'vegetable'}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:40:32