Курс 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"
- Модуль math: основные функции
- Проблемы с именами переменных
- Работа с YAML в Python
- Проверка кортежей.
- Разбиение текста в Python
- Работа с кортежами
- Ограничение ресурсов в Python
- Печать месячного календаря
- Numpy: разбиение массивов
- Проверка подстроки в строке с помощью in
- Поиск частого элемента
- Использование модуля math
- Реализация операции -= для пользовательского класса
- Python groupby() из itertools: работа с повторяющимися элементами
- Объявление переменных в Python
- Проверка дублей в списке.
- Возврат нескольких значений
- Оператор «not» в Python
- Освоение Python
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Работа с необработанными строками
- Преобразование вложенного списка
- Профилирование данных с Pandas.
- Переопределение метода __eq__
- Абстракции словарей и множеств в Python
- Упрощение условных выражений с тернарным оператором
- Счетчик ссылок в Python
- Создание комплексных чисел
- Копирование словарей и списков в Python
- Функция с *args.
- Структурирование именованных констант
- Работа с коллекциями Python
- Очистка входных данных
- Работа с контекстными переменными
- Генерация ключей RSA
- Оптимизация строк в Python
- Конкатенация строковых литералов
- Проверка однородности элементов списка
- Функции any() и all() в Python
- Работа с библиотекой requests
- Принципы Zen Python
- Модуль array: создание и использование массивов
- Генераторы в Python
- Реализация метода __abs__ в Python















