12

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()) 

注: 順序は重要であり、この質問はこの質問とは異なります

4

7 に答える 7

20

使用itertools.groupby:

>>> foo = "SSYYNNOOPPSSIISS"
>>> import itertools
>>> ''.join(ch for ch, _ in itertools.groupby(foo))
'SYNOPSIS'
于 2013-09-14T06:32:40.737 に答える