编写一个函数,将字符串第一个字母的每个重复字符替换为 * 除了第一个字母本身 - 是否有比这更 pythonic/优雅的方法(列表等?)?
def specialreplace(s):
firstchar = s[0]
modifiedstr = s[1:].replace(firstchar, "*")
print firstchar + modifiedstr
specialreplace('oompaloompa') ---> o*mpal**mpa
最佳答案
这是一个简单的问题,我不确定你为什么要把它复杂化。您的解决方案看起来不错,但您应该使用 .join() 而不是 '+' 来将字符串连接在一起。
"".join((s[0], s[1:].replace(s[0], "*"))
关于除第一个字符外的 Python 字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30740827/