You need to enable JavaScript to run this app. Python如何实现嵌套字典内列表的指定字符串替换
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现嵌套字典内列表的指定字符串替换

问题原因

你遍历列表时获取的path是列表元素的临时副本,Python中字符串属于不可变类型,直接对path赋值只会修改临时变量的指向,不会改动原列表存储的内容,因此字典内的数值始终没有更新。

解决方法

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

这种方式直接操作原列表,无需额外生成新列表:

new_path = "was_replaced"

for lib in info:
    files = info[lib]['files']
    # 按索引遍历列表
    for idx, path in enumerate(files):
        if "replace" in path:
            files[idx] = new_path
            print(new_path)

# 验证输出
for lib in info:
    for path in info[lib]['files']:
        print(path)

方法2:用列表推导式生成新列表替换

写法更简洁,适合不需要保留原列表引用的场景:

new_path = "was_replaced"

for lib in info:
    info[lib]['files'] = [new_path if "replace" in path else path for path in info[lib]['files']]

运行上述任意一种实现后,输出都会符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 10:36:03