Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: string, replace

Как написать функцию, которая заменяет первое и последнее вхождение символа в строке?

Этот вопрос проверяет умение комбинировать методы строк и работать со срезами.

Короткий ответ

Нужно найти индексы первого и последнего вхождения символа, а затем собрать новую строку через срезы. Если символ встречается один раз, заменяется только одно вхождение. Если символ не найден, строка возвращается без изменений. Такой подход не требует прохода по строке вручную.

Длинный ответ

Решение строится в три шага: найти позиции, обработать особые случаи, собрать новую строку.

1) Алгоритм

Шаги:

  1. найти первое вхождение (find)

  2. найти последнее (rfind)

  3. заменить символы через slicing

2) Пример реализации

def replace_first_last(s, old, new):
    first = s.find(old)
    if first == -1:
        return s

    last = s.rfind(old)

    if first == last:
        return s[:first] + new + s[first+1:]

    s = s[:first] + new + s[first+1:]
    last = s.rfind(old)
    return s[:last] + new + s[last+1:]

3) Особые случаи

Важно учитывать:

  1. символ отсутствует

  2. символ встречается один раз

  3. строка очень короткая

4) Оптимизация

Если строка большая:

  • минимизировать копирования

  • не делать лишних проходов

Вывод
Решение обычно строится на find, rfind и срезах, что дает простой и читаемый код.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    4

Навыки

  • Python

    Python

Ключевые слова

#string

#replace

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.