8. Удалить дубликаты символов из строки
Условие задачи:
Напиши функцию которая позволит нам из строки ‘abcdd’ получить строку “abcd”
Спойлеры к решению
Подсказки
- Нужно пройтись по символам строки.
- Нужно добавлять символ в результат только в том случае, если он ещё не встречался.
- Для быстрой проверки уже встреченных символов удобно использовать
set. - Порядок символов должен сохраниться: из
"abcdd"должно получиться"abcd", а не просто набор уникальных символов.
Решение
def remove_duplicates(text: str) -> str:
seen = set()
result = []
for char in text:
if char not in seen:
seen.add(char)
result.append(char)
return "".join(result)
Пример использования:
print(remove_duplicates("abcdd")) # abcd
Функция проходит по строке слева направо. Если символ встречается впервые, он добавляется в список result и запоминается в seen. Если символ уже был раньше, он пропускается. В конце список символов собирается обратно в строку через "".join(result).