在Python中删除给定字符串中的重复字符的程序

在Python中删除给定字符串中的重复字符的程序

假设我们有一个字符串s。我们必须删除所有已经出现过的重复字符。最终字符串将具有与实际字符串相同的字符顺序。

我们可以使用有序字典来维护字符的插入顺序。值将是这些字符的频率,但这里的频率值并不重要。形成字典后,我们可以简单地取键并将它们连接以获得字符串。

因此,如果输入为s =“bbabcaaccdbaabababc”,则输出将为“bacd”。

  • d:按其插入顺序排序存储键的字典
  • 对于s中的每个字符c,执行以下操作
    • 如果d中不存在c,则
      • d [c]:= 0
    • d [c] := d [c] + 1
  • 连接键以按正确顺序形成输出字符串并返回。

示例

让我们看看以下实现,以获取更好的理解 −

from collections import OrderedDict
def 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教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程