我有一个字符串="aabbcdb",我想删除已经出现两次的字符。如果你回答我使用计数器模块会更好。PS:我希望答案是"cdb"。因为这是我们删除两次出现的字符后剩下的内容。
你可以使用列表作为堆栈来跟踪前一个字符,如果当前字符与前一个字符相同,则弹出堆栈
new_string = [string[0]]
i = 0
for char in string[1:]:
if new_string != [] and new_string[len(new_string)-1] == char:
new_string.pop(len(new_string)-1)
else:
new_string.append(char)
i += 1
print("".join(new_string))
如果要删除特定位置的字符,可以这样做。
def f(string,pos):
return string[:pos]+string[pos+1:]
>>> s='abcd'
>>> f(s,1)
'acd'