如何使用Python从字符串中删除重复的字符?例如,假设我有一个字符串:foo = 'mppmt'如何制作字符串:foo = 'mpt'注意:顺序并不重要
3 回答

慕哥6287543
TA贡献1831条经验 获得超10个赞
如果顺序没有关系,可以使用
"".join(set(foo))
set()将在字符串中创建一组唯一的字母,并将"".join()字母以任意顺序连接回字符串。
如果为了做的事情,你可以使用collections.OrderedDict在Python 2.7或以上:
from collections import OrderedDict
foo = "mppmt"
result = "".join(OrderedDict.fromkeys(foo))
导致字符串"mpt"。

慕田峪9158850
TA贡献1794条经验 获得超7个赞
如果为了做 事情,怎么样:
>>> foo = 'mppmt'
>>> ''.join(sorted(set(foo), key=foo.index))
'mpt'

呼如林
TA贡献1798条经验 获得超3个赞
如果顺序无关紧要:
>>> foo='mppmt'
>>> ''.join(set(foo))
'pmt'
保持订单:
>>> foo='mppmt'
>>> ''.join([j for i,j in enumerate(foo) if j not in foo[:i]])
'mpt'
添加回答
举报
0/150
提交
取消