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

Python中如何重排字典内的配对项生成指定格式结果

Python字典键内配对重排实现方案

核心思路

  • 遍历原始字典的所有键,原始字典的value不参与最终集合生成,可直接忽略
  • 单个键可能包含多组「实体:分类」配对,配对之间用英文逗号分隔,先按逗号拆分出所有独立配对
  • 对每个独立配对去除首尾多余空格后,按英文冒号分割为实体、分类两部分,同样去除两部分首尾的空格
  • 调换两部分顺序,拼接为「分类:实体」的目标格式
  • 把所有拼接完成的字符串存入集合,自动去重后就得到要求的输出格式

代码实现

# 原始待处理字典
origin_dict = {
    'peaches: fruit': 2,
    'cake: dessert, kale: vegetable': 1,
    'carrots: vegetable': 1,
    'pears: fruit': 1
}

result = set()
# 遍历所有字典键
for key in origin_dict.keys():
    # 拆分同一个键里的多组配对
    pairs = key.split(',')
    for pair in pairs:
        # 去除空格后按冒号拆分
        item, category = [i.strip() for i in pair.split(':')]
        # 调换顺序拼接后加入集合
        result.add(f"{category}:{item}")

print(result)

运行输出

{'vegetable:kale', 'fruit:pears', 'dessert:cake', 'fruit:peaches', 'vegetable:carrots'}

补充说明

  • 所有字符串拆分步骤都加了strip()处理,兼容原始数据里冒号、逗号前后空格数量不固定的情况,不会出现多余空格
  • 如果你后续需要保留原始字典里的计数信息,只需要把存储结构从集合换成字典,拼接后的字符串作为键,累加原始字典对应的value即可
  • 集合本身是无序的,如果需要固定输出顺序,可以把结果转成列表后再按需求排序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:31:04