В питоне повторяющиеся символы считаются за один. Почему?
Только начинаю изучать питон, и недавно, проходя задания, обнаружил нечто, мне непонятное
Задание было таково: "Дана строка. Удалите из нее все символы, чьи индексы делятся на 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 шт):
Штука в том, что replace удаляет/заменяет все указанные в аргументе символы. Ну вот например:
s = 'hello'
s2 = s.replace('l', '*')
print(s2)
he**o
Вашу же задачу можно решить так.