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

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

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

因此,如果输入类似于 s = "bbabcaaccdbaabababc",那么输出将是 "bacd"。

  • d := 一个字典,其中键按插入顺序存储

  • 对于 s 中的每个字符 c,执行

    • d[c]:= 0

    • 如果 c 不存在于 d 中,则

    • 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 中的给定字符串中删除重复字符的程序 的全部内容, 来源链接: utcz.com/z/347459.html

    回到顶部