从 Python 中的给定字符串中删除重复字符的程序
假设我们有一个字符串 s。我们必须删除之前已经出现过的所有重复字符。最终的字符串将具有与实际字符串相同的字符顺序。
我们可以通过使用有序字典来维护字符的插入顺序来解决这个问题。该值将是这些字符的频率,但频率值在这里并不重要。形成字典后,我们可以简单地获取键并将它们连接起来以获得字符串。
因此,如果输入类似于 s = "bbabcaaccdbaabababc",那么输出将是 "bacd"。
d := 一个字典,其中键按插入顺序存储
对于 s 中的每个字符 c,执行
d[c]:= 0
如果 c 不存在于 d 中,则
d[c] := d[c] + 1
按正确的顺序将键一个接一个地连接起来,使输出字符串并返回。
示例
让我们看看以下实现以获得更好的理解 -
from collections import OrderedDictdef solve(s):
d = OrderedDict()
for c in s:
if c not in d:
d[c] = 0
d[c] += 1
return ''.join(d.keys())
s = "bbabcaaccdbaabababc"
print(solve(s))
输入
"bbabcaaccdbaabababc"输出结果
"bacd"
以上是 从 Python 中的给定字符串中删除重复字符的程序 的全部内容, 来源链接: utcz.com/z/347459.html