我正在試圖創建一個函數,當給定字符串時,將刪除重複字符的第一次發生。但是有一個細節讓我意識到:不連續的字符不是重複的。因此,'bookkeeper'
將是'bokeper'
,但我的功能吐出了'bokepr'
。我怎樣才能解決這個問題?這是我的功能。使用列表刪除重複字符的第一次發生
def remove_repeat(message):
placeholder = [] #The spot that our answer will be built up in
seen_chars = [] #The place that will hold our seen characters
for c in message:
if c not in seen_chars:
seen_chars.append(c)
if c not in placeholder:
placeholder.append(c)
result = ""
for c in placeholder:
result = result + c
return result
從字符列表中創建一個字符串應該用'''.join()' – Kupiakos
來完成你的代碼不會刪除第一個字符,而是除第一個字符外所有的事件,所以我是有點困惑你實際上想要達到的目標。 「eetee」和「eeettteee」的預期結果是什麼? –
連續三個字符會發生什麼?例如,「boooo」應該變成「booo」還是「bo」? – timgeb