Py学习  »  Python

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

William • 3 年前 • 1460 次点击  

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

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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130512
 
1460 次点击  
文章 [ 2 ]  |  最新文章 3 年前
uingtea
Reply   •   1 楼
uingtea    3 年前

试试这个

s = 'aba'

for i in range(len(s)):
    new_s = s.replace(s[i], "", 1)
    print(new_s)
enke
Reply   •   2 楼
enke    3 年前

也许你可以把绳子切成薄片,而不是替换:

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

输出:

ba
aa
ab