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

如何修改Python的swapplaces函数实现大小写敏感的指定字符替换

swapplaces 函数实现修复方案

需求说明

  • 函数接收三个参数:字符串s、长度为1的待替换字符c、长度为1的替换目标字符r
  • 返回将s中所有c替换为r后的新字符串,替换大小写敏感
  • 预期用例结果:
swapplaces("let","l","g") == "get"
swapplaces("chip","c","s") == "ship"
swapplaces("lay low for lola","l","s") == "say sow for sosa"
swapplaces("OcapudoliciOus", "O", "e") == "ecapudolicieus"

原有代码问题梳理

  • 自定义listToString函数逻辑错误:使用空格作为拼接符,会导致输出字符串的每个字符之间都多出一个空格,不符合预期输出要求
  • 循环变量命名冲突:遍历列表时临时变量也命名为c,会覆盖传入的待替换字符参数c,导致匹配逻辑完全混乱
  • 方法调用错误:Python的列表类型没有replace方法,直接调用q.replace(c,r)会直接抛出异常

修复后代码

手动遍历实现版本

def swapplaces(s, c, r):
    res = []
    for char in s:
        # 匹配到待替换字符则替换,否则保留原字符
        res.append(r if char == c else char)
    # 直接用空字符串拼接列表,无需额外定义转换函数
    return ''.join(res)

极简实现版本

Python字符串内置的replace方法本身就满足「替换所有匹配项、大小写敏感」的要求,直接调用即可:

def swapplaces(s, c, r):
    return s.replace(c, r)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:15:04