Курс 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"
- Расчет времени выполнения программы
- Распаковка элементов последовательности
- Вычисление времени выполнения
- Flask — веб-фреймворк Python
- Оператор умножения для вектора
- Чтение бинарного файла в Python.
- Измерение времени выполнения кода с использованием time
- Фильтрация списка от «ложных» значений
- Изменение логики работы с временем
- Форматирование строк в Python.
- Создание уникального множества
- Регулярные выражения: метод match
- Возврат нескольких значений
- Форматирование объектов с модулем pprint
- Метод __int__ в Python
- Преобразование регистра символов
- Переопределение метода
- Генераторы списков
- Создание и операции с дробями
- Python и Монти Пайтон
- Ограничение итераций в Python
- Метод join() с набором
- Очистка списка от False, None, 0, «»
- Нахождение хеша для бесконечности и NaN в Python
- Эффективная конкатенация строк с использованием join()
- Библиотека funcy: удобные утилиты
- Сохранение Unicode в JSON
- Работа с WindowsPath()
- Компиляция регулярных выражений
- Оформление кода на Python
- Объединение словарей в Python
- Векторизация в Python с NumPy.
- Модуль sys: основы
- Функция all() в Python
- Работа с эмодзи в Python
- Отрицательные индексы списков в Python
- Циклы в Python
- Функция zip() в Python
- Переворот списка в Python
- Классы данных в Python
- Функции map() и reduce() в Python
- Python: цикл for и оператор присваивания
- capitalize() — изменение регистра первого символа строки
- Форматирование данных с помощью pprint
- Вычисление логарифмов в Python
- Работа с CSV файлами















