Курс 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
- Модуль os: работа с файлами и папками
- Объединение, распаковка и деструктуризация
- Введение в Python
- Логирование с Logzero
- Улучшенные подсказки для импорта в Python 3.12
- F-строки в Python 3.8
- Работа с набором данных CIFAR10 в PyTorch
- Расчет времени выполнения кода
- Оператор Walrus: правильное использование
- Сложение матриц в NumPy
- Управление импортом в Python
- Получение имени функции с помощью inspect
- Форматирование строк в Python
- Работа с YAML в Python
- Работа с itertools
- JSON в Python: модуль, dump, dumps, load
- Склеивание строк через метод join()
- Библиотека Chartify: руководство
- Условные выражения в Python
- Импорт классов из другого файла
- Разделение строки в Python
- Константы в модуле cmath
- Метод difference_update() — разность множеств
- Округление чисел с помощью round
- Подписка на каналы разработчиков
- Создание пар из последовательностей
- Модуль subprocess: запуск внешних команд
- Enum в Python
- Использование функции enumerate()
- Копирование в Python
- Объединение списков в строку
- Генераторы словарей и множеств
- Установка и использование модуля Wikipedia
- История Python
- Оператор walrus в Python
- Функция product() из itertools
- Создание объекта времени
- Метод join() для объединения элементов в строку.
- Автоматизация скриптов на AWS Lightsail.
- Bootle — простой веб-фреймворк
- Генератор списка в Python
- Извлечение чисел из текста















