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

如何在Python中拆分字典的复合键生成新字典?

如何将字典按键的指定分隔符拆分生成新字典?

假设你有一个字典,它的键是用" n "作为分隔符连接的多个子键,想要把每个子键拆出来作为新字典的键,并且都对应原键的值,这里有两种简单的实现方式:

方法一:字典推导式(简洁高效)

用一行代码就能搞定,适合熟悉Python语法的开发者:

original_dict = {"AB n DC": [12, 13], "JH n UY": [22, 1]}
new_dict = {sub_key: value for key, value in original_dict.items() for sub_key in key.split(" n ")}

print(new_dict)
# 输出: {'AB': [12, 13], 'DC': [12, 13], 'JH': [22, 1], 'UY': [22, 1]}

原理很简单:

  • 遍历原字典的每一组键值对key, value
  • 对每个key用split(" n ")拆分出子键列表
  • 把每个子键和对应的value映射到新字典里

方法二:普通循环(直观易懂)

如果是新手,用循环的方式更容易理解每一步的操作:

original_dict = {"AB n DC": [12, 13], "JH n UY": [22, 1]}
new_dict = {}

for key, value in original_dict.items():
    # 拆分当前键为子键列表
    sub_keys = key.split(" n ")
    # 遍历子键,逐个添加到新字典
    for sub_key in sub_keys:
        new_dict[sub_key] = value

print(new_dict)
# 输出和上面一致

两种方法都能实现需求,字典推导式更简洁,循环方式更直观,根据自己的习惯选就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:03:10