1. 可以用集合set()来解决这个问题:
def unique(it):
s = set()
for x in it:
if x not in s:
s.add(x)
yield x
it = 'abb'
it_set = ''.join(unique(it)) # 'ab'
2. 或者不用set直接用list解决问题:
def removeDuplicate(s):
if (len(s)) < 2:
return s
result = []
for i in s:
if i not in result:
result.append(i)
return ''.join(result)
it_ori = 'abb'
it = removeDuplicate(s) # 'ab'
3. 还可以用 itertools.groupby:
import itertools
s_ori = 'SSYYNNOOPPSSIISS'
s = ''.join(ch for ch,_ in itertools.groupby(s_ori)) # 'SYNOPSIS'