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

Python中如何修改字典内元素值?运行替换代码无输出变化该如何解决

问题原因

你写的代码中直接修改循环变量el不会生效:Python遍历列表时拿到的el是临时值拷贝,字符串属于不可变类型,对el赋值只会修改这个临时变量的指向,不会改动tags列表里的原存储内容。

修复方案

借助你已经定义好的新旧词映射字典d,推荐两种实现方式:

方式1:遍历索引修改原列表

d = {
    'datamining': 'data mining',
    'data science': 'data mining',
}

for elem in output:
    # 同时拿到索引和对应标签,直接修改原列表对应位置的值
    for idx, tag in enumerate(elem['tags']):
        if tag in d:
            elem['tags'][idx] = d[tag]

print(output)

方式2:列表推导式生成新标签列表(更简洁)

d = {
    'datamining': 'data mining',
    'data science': 'data mining',
}

for elem in output:
    # d.get(tag, tag) 表示标签存在映射就替换,不存在就保留原值
    elem['tags'] = [d.get(tag, tag) for tag in elem['tags']]

print(output)

两种方式都可以得到你预期的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:54:01