В Python я хотел бы удалить повторяющиеся буквы из строки, но не числа или пробелы. Я придумал:Удаление только альфа-дубликатов
result = []
seen = set()
for char in string:
if char not in seen:
seen.add(char)
result.append(char)
return "".join(result)
Но что делает:
>>> delete_duplicate_letters("13 men were wounded in an explosion yesterday around 3:00pm.")
13 menwroudiaxplsyt:0.
Когда я хочу:
>>> delete_duplicate_letters("13 men were wounded in an explosion yesterday around 3:00pm.")
13 men wr oud i a xpls yt 3:00.
Я пытался использовать letter
вместо char
, функция isalpha()
и if int
заявления и т. д., но я не мог заставить работать.
+1 для приятного простого решения, просто надейтесь, что строка не станет действительно большой или квадратичная продолжительность выполнения будет – jamylak