Python 如何只删除字符串中的第一个重复字符

Python how to only remove the first duplicated character in a string

我有一个字符串 'cbbcc',我想在每一轮中从左到右删除 1 个字符,然后 return 剩余的字符,如下所示:

first round:  bbcc
second round: cbcc
third round:  cbbc
Forth round:  cbbc

但是如果我使用下面的代码:

    for i in s:
        old_s=s
        s=s.replace(i,'')
        print(s)
        s=old_s

输出将是:

bb
ccc
ccc
bb
bb

有没有办法让输出像这样:

bbcc
cbcc
cbbc
cbbc

在实际业务中,字符串可能会非常非常长。

也许您可以对字符串进行切片,而不是替换:

for i in range(len(s)):
    print(f"{s[:i]}{s[i+1:]}")

输出:

ba
aa
ab

试试这个

s = 'aba'

for i in range(len(s)):
    new_s = s.replace(s[i], "", 1)
    print(new_s)