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)
我有一个字符串 '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)