Python:从字符串中删除重复字符的最佳方法

标签 python string text-processing

如何使用 Python 从字符串中删除重复字符?例如,假设我有一个字符串:

foo = "SSYYNNOOPPSSIISS"

如何制作字符串:

foo = SYNOPSIS

我是 python 的新手,我已经厌倦了它的工作。我知道有一种聪明且最好的方法可以做到这一点..只有经验才能证明这一点..

def RemoveDupliChar(Word):
        NewWord = " "
        index = 0
        for char in Word:
                if char != NewWord[index]:
                        NewWord += char
                        index += 1
        print(NewWord.strip()) 

注意:顺序很重要,这个问题与 this 不相似一个。

最佳答案

使用 itertools.groupby :

>>> foo = "SSYYNNOOPPSSIISS"
>>> import itertools
>>> ''.join(ch for ch, _ in itertools.groupby(foo))
'SYNOPSIS'

关于Python:从字符串中删除重复字符的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799036/

相关文章:

Python 解析字符串赋值

algorithm - "Absolute"字符串公制

c++ - 在 C++ 中修改字符串的 BigO 时间复杂度是多少?

java - 如何使用 + 号和转义码连接 NETBEANS 中的字符串?

c# - 如何替换 .NET 中字符串的*第一个实例*?

c# - 快速文本预处理

java - 用java提取文本

Python数组切片——如何实现二维数组切片?

python - 如何使用 asyncio 复杂地管理 shell 进程?

python - 如何使用 PYMC 编写多元正态的分层混合模型