首页 > 解决方案 > 替换方法替换相似字符我如何使它替换单个特定字符

问题描述

我正在尝试使用替换方法遍历字符串和大写每个字符。

def wave(p):
    if isinstance(p, str):
        lst = []
        p.lower()
        for i in range(0, len(p)):
            lst.append(p.replace(p[i], p[i].upper()))
        return lst

它有效,但问题是,如果我例如在单词“hello”上使用该函数,这就是输出

['Hello', 'hEllo', 'heLLo', 'heLLo', 'hellO']

所以它将两个 L 大写,而我希望它一次将一个 L 大写。我该怎么做?

标签: python

解决方案


您不需要使用该.replace()功能。感谢@kmmanoj 的清晰度。

def wave(p):
    if isinstance(p, str):
        lst = []
        p.lower()
        for i in range(0, len(p)):
            lst.append(p[:i] + p[i].upper() + p[i+1:])
        return lst

['Hello', 'hEllo', 'heLlo', 'helLo', 'hellO']

推荐阅读