Курс Python → Поиск индексов подстроки
Для того чтобы найти все индексы для подстроки в строке, мы можем создать пользовательскую функцию, которая будет итеративно проходить по строке и находить все вхождения подстроки. Например, мы можем создать функцию find_all_indexes(), которая будет принимать строку и подстроку в качестве аргументов и возвращать список всех индексов, по которым найдена подстрока.
def find_all_indexes(s, sub):
indexes = []
index = s.find(sub)
while index != -1:
indexes.append(index)
index = s.find(sub, index + 1)
return indexes
string = "hello world hello hello"
substring = "hello"
indexes = find_all_indexes(string, substring)
print(indexes) # выводит [0, 12, 18]
В приведенном примере мы создали функцию find_all_indexes(), которая ищет все вхождения подстроки «hello» в строке «hello world hello hello». Мы итеративно вызываем метод find() для поиска подстроки, начиная с последнего найденного индекса + 1. Когда метод find() возвращает -1, это означает, что больше вхождений не найдено, и мы завершаем выполнение функции, возвращая список всех найденных индексов.
Таким образом, мы можем легко находить все индексы для подстроки в строке, используя пользовательскую функцию и метод find(). Это удобный способ для более точного анализа текста и работы с подстроками в Python.
Другие уроки курса "Python"
- Модуль os в Python: работа с файлами
- Объединение строк с помощью метода join
- Создание функций высшего порядка
- Создание новых списков в Python
- Безопасные SQL-запросы в Python 3.11
- Тестирование модели в PyTorch
- Множественное назначение в Python
- Установка и использование howdoi
- Списковое включение в Python
- Инвертирование словаря
- Функции высшего порядка в Python
- Регулярные выражения: метод match
- Округление банкира в Python
- Сравнение def и lambda-функций
- Добавление элементов в список: append() vs extend()
- Многострочные комментарии в Python
- Транспонирование 2D-массива с помощью zip
- Установка виртуального окружения Python
- Метод __imod__ для Python
- Метод __index__ в Python
- Python 3.12: переиспользование кавычек
- Использование super() в Python
- Транспонирование 2D-массива с помощью zip
- Структурирование именованных констант
- Построение графиков в Matplotlib
- Удаление элемента из списка в Python
- Декораторы для регистрации функций
- Генерация UUID в Python
- Модуль xkcd: добавление юмора в Python
- Установка и использование модуля «howdoi»
- Перехват исключений в Python
- Хешируемые ключи в Python
- Возвращение нескольких значений
- Эффективная конкатенация строк в Python
- Функции в одну строку
- Измерение времени выполнения кода в Python
- Объединение, распаковка и деструктуризация
- Область видимости переменных
- Работа с модулем os в Python
- Декораторы классов
- Экранирование символов в Python
- Поток данных в Python
- Выход из профиля в Django
- Python Enum Weekday Usage
- Декораторы в Python
- Замена атрибута в именованном кортеже
- Методы list в Python















