如何使用Python删除字符串中的重复字符?例如,假设我有一个字符串:
foo = 'mppmt'
我怎样才能使字符串:
foo = 'mpt'
注意:顺序并不重要
发布于 2012-03-23 22:52:50
如果顺序不是问题:
>>> foo='mppmt'
>>> ''.join(set(foo))
'pmt'
要保持顺序,请执行以下操作:
>>> foo='mppmt'
>>> ''.join([j for i,j in enumerate(foo) if j not in foo[:i]])
'mpt'
发布于 2018-05-02 14:49:20
在Python中创建一个列表和一个不允许任何重复的set。Solution1:
def fix(string):
s = set()
list = []
for ch in string:
if ch not in s:
s.add(ch)
list.append(ch)
return ''.join(list)
string = "Protiijaayiiii"
print(fix(string))
方法二:
s = "Protijayi"
aa = [ ch for i, ch in enumerate(s) if ch not in s[:i]]
print(''.join(aa))
发布于 2018-01-15 07:33:46
正如前面提到的,"".join(set(foo))和collections.OrderedDict就可以了。增加了foo = foo.lower(),以防字符串包含大写和小写字符,并且您需要删除所有重复项,无论它们是大写字符还是小写字符。
from collections import OrderedDict
foo = "EugeneEhGhsnaWW"
foo = foo.lower()
print "".join(OrderedDict.fromkeys(foo))
印花真锯片
https://stackoverflow.com/questions/9841303
复制相似问题