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

如何将Python字典数组内的数值替换为前缀匹配的对应键名

实现思路

  1. 先基于原字典的键提取「数字前缀-完整键名」的映射关系,每个键下划线前的数字部分即为对应前缀
  2. 遍历原字典每个键对应的数值列表,逐个判断数值是否存在于映射中,存在则替换为对应的完整键名,不存在则保留原数值

完整代码

# 原始字典
original_dict = {
    '6690_team': [6620, 6689],
    '6620_mdas': [6192, 6573],
    '6573_megan': [6535, 6572],
    '6572_regionalise national league north': [6567, 6570],
    '6570_sacha baron cohen': [6551, 6569],
    '6569_sacha baron cohen': [6380, 6568],
    '6568_first week': [6555, 6566]
}

# 构造前缀映射表
prefix_map = {}
for key in original_dict:
    prefix = int(key.split('_')[0])
    prefix_map[prefix] = key

# 生成替换后的新字典
result_dict = {}
for k, val_list in original_dict.items():
    result_dict[k] = [prefix_map.get(num, num) for num in val_list]

# 打印验证结果
import pprint
pprint.pprint(result_dict)

输出结果

运行后得到的result_dict严格匹配替换规则:

{
    '6690_team': ['6620_mdas', 6689],
    '6620_mdas': [6192, '6573_megan'],
    '6573_megan': [6535, '6572_regionalise national league north'],
    '6572_regionalise national league north': [6567, '6570_sacha baron cohen'],
    '6570_sacha baron cohen': [6551, '6569_sacha baron cohen'],
    '6569_sacha baron cohen': [6380, '6568_first week'],
    '6568_first week': [6555, 6566]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:27:04