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

Python列表中字符串的查找与替换问题

问题分析与解决方案

嘿,这个问题我太熟悉啦!你的代码没生效的核心原因是Python字符串的不可变性——字符串一旦创建就没法直接修改,所有字符串操作(比如replace())都会返回一个新的字符串,而不是改变原字符串本身。

你原来的代码里,调用i.replace('Base','Fine')后,只是生成了替换后的新字符串,但没有把这个新值重新赋值给i,所以后续append的还是原来的i,自然看不到变化。

修改后的代码方案

方案1:修复原循环逻辑

把replace()的返回值赋值给i,再append到新列表里:

nums = ['Aero', 'Base Core Newton', 'Node']
nums1 = []
for i in nums:
    if 'Base' in i:
        # 关键:把替换后的新字符串赋值给i
        i = i.replace('Base', 'Fine')
    nums1.append(i)
print(nums1)

方案2:更简洁的列表推导式

如果想让代码更紧凑,可以用Python的列表推导式一步完成:

nums = ['Aero', 'Base Core Newton', 'Node']
nums1 = [s.replace('Base', 'Fine') if 'Base' in s else s for s in nums]
print(nums1)

两种方案运行后都会输出:['Aero', 'Fine Core Newton', 'Node'],完美达到你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:09:04