Python 修改代码使之更具体?

Python 修改代码使之更具体?,python,Python,我的代码删除字符串中连续的重复项。我现在只想让它删除特定的重复项。例如 my_func("killkiss","l") 'kilkiss' my_func("killkiss","s") 'killkis' 我的代码 def my_func(input,sub): newString = "" for char in input: if newString == "" or char != newString[len(newString)-1]: #I've tried adding

我的代码删除字符串中连续的重复项。我现在只想让它删除特定的重复项。例如

my_func("killkiss","l")
'kilkiss'
my_func("killkiss","s")
'killkis'
我的代码

def my_func(input,sub):
newString = ""
for char in input:
    if newString == "" or char != newString[len(newString)-1]: #I've tried adding 'and is sub'
        newString += char    
return newString

有没有办法修改我的代码?我需要练习,这样就不会从字符串库中内置或导入任何内容。

对于连续的重复项,可以使用字符串方法:

def my_func(input, sub):
    result = input.replace(sub*2, sub)
    if result == input:
        return result
    return my_func(result, sub)

对于连续的重复项,可以使用字符串方法:

def my_func(input, sub):
    result = input.replace(sub*2, sub)
    if result == input:
        return result
    return my_func(result, sub)

我想你在寻找:

if newString == "" or char != newString[len(newString)-1] or char != sub:

我想你在寻找:

if newString == "" or char != newString[len(newString)-1] or char != sub:

你能给我们一个你可能需要解析的字符串的例子吗?当你调用一个函数时,你不需要
def my_func(input1,input2,…)
,你只需要调用它,就像这样:
my_func(input1,input2,…)
。你能给我们一个你可能需要解析的字符串的例子吗?当你调用一个函数时,你不需要定义my func(input1,input2,…),你只需要这样调用它:
my func(input1,input2,…)
。OP的代码将
aaa
转换为
a
。您的代码将其转换为
aa
@DSM感谢您指出它,现在通过递归调用应该涵盖这个案例。OP的代码将
aaa
转换为
a
。您的将其转换为
aa
@DSM感谢您指出它,现在通过递归调用应该涵盖此案例。