从字符串中删除重复的字符

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (126)

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

foo = 'mppmt'

我该如何制作字符串:

foo = 'mpt'

注意:次序并不重要

提问于
用户回答回答于

如果订单无关紧要,您可以使用

"".join(set(foo))

set()将在字符串中创建一组唯一字母,并"".join()以任意顺序将字母连接回字符串。

如果为了的事情,你可以使用collections.OrderedDict在Python 2.7:

from collections import OrderedDict
foo = "mppmt"
print "".join(OrderedDict.fromkeys(foo))

打印:

mpt
用户回答回答于

如果次序不是问题:

>>> foo='mppmt'
>>> ''.join(set(foo))
'pmt'

保持次序:

>>> foo='mppmt'
>>> ''.join([j for i,j in enumerate(foo) if j not in foo[:i]])
'mpt'

扫码关注云+社区

领取腾讯云代金券