Python程式:去除字串中重複字元


假設我們有一個字串s。我們需要移除所有之前已經出現過的重複字元。最終字串的字元順序應與原始字串相同。

我們可以使用有序字典來維護字元的插入順序。值將是這些字元的頻率,但是這裡的頻率值並不重要。在形成字典之後,我們可以簡單地取鍵並連線它們以獲得字串。

因此,如果輸入類似於s = "bbabcaaccdbaabababc",則輸出將為"bacd"。

  • d := 一個字典,其中鍵按照其插入順序儲存
  • 對於字串s中的每個字元c,執行以下操作:
    • 如果c不存在於d中,則
      • 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"

更新於: 2021年10月12日

8K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.