В питоне повторяющиеся символы считаются за один. Почему?

Только начинаю изучать питон, и недавно, проходя задания, обнаружил нечто, мне непонятное

Задание было таково: "Дана строка. Удалите из нее все символы, чьи индексы делятся на 3." Недолго думая, решил написать такой код:

a = input()
for i in range(0, len(a) - len(a) // 3, 2):
    a = a.replace(a[i], '')
print(a)

Но оказалось, что если ввести в консоль слово "hello", программа вместо "elo" выводит "eo", будто игнорируя то, что там две, а не одна "l". Если подставить любое другое слово без повторяющихся символов, программа даст правильный результат, но если вы введёте слово с повторяющимися символами, будьте готовы к неверному результату (можете сами протестировать).

Мне неинтересно решение моей задачи, потому что я уже нашёл альтернативу. Мне интересно, почему так происходит.


Ответы (1 шт):

Автор решения: Victor VosMottor thanks Monica

Штука в том, что replace удаляет/заменяет все указанные в аргументе символы. Ну вот например:

s = 'hello'
s2 = s.replace('l', '*')
print(s2)

he**o

Вашу же задачу можно решить так.

→ Ссылка