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

Python如何重命名列表中重复出现两次的嵌套字典字段值

Python处理列表嵌套字典重复字段重命名实现

你要访问的name和language字段存储在每个音频条目的hls子字典中,直接通过audio['hls']['name']、audio['hls']['language']即可完成取值和赋值,不需要额外的复杂解析。

实现逻辑直接用计数字典实时统计重复项即可,遍历一次列表就能完成处理,代码放在你生成job['audio']的逻辑之后运行即可:

from collections import defaultdict

# 记录每个(语言名, 语言代码)组合的出现次数
lang_counter = defaultdict(int)

for audio_item in job['audio']:
    hls_config = audio_item['hls']
    current_lang = (hls_config['name'], hls_config['language'])
    lang_counter[current_lang] += 1
    # 非首次出现的重复项追加次数后缀
    if lang_counter[current_lang] > 1:
        suffix = str(lang_counter[current_lang])
        hls_config['name'] += suffix
        hls_config['language'] += suffix

逻辑说明

  • 不需要额外维护set结构,计数字典在遍历过程中自动累计每个语言组合的出现次数:首次遇到某组合时计数为1,不做修改;第二次遇到同组合时计数为2,自动追加后缀2,如果存在更多重复项会自动追加对应数字(比如第三个重复的英文会自动命名为English3/en3),扩展性更好。
  • 因为字典是可变对象,直接修改hls_config的字段值就会同步修改原列表job['audio']里的对应内容,不需要额外做列表重建。

针对你给出的示例数据,处理后第三个音频条目的对应字段会被修改为'name': 'English2'、'language': 'en2',完全匹配预期结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:21:18