Курс 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"
- Импорт и использование модулей в Python
- Возвращение нескольких значений через кортеж или класс
- Переопределение метода __lshift__
- Дефолтные параметры в Python
- Получение текущей даты и времени с помощью datetime
- Необязательные аргументы в Python
- Работа с кортежами в Python
- Склеивание строк через метод join()
- Анонимные функции в Python
- Новшества Flask 2.0
- Python: динамическая типизация и проверка типов
- Расчет времени выполнения программы
- Удаление элементов из списка в Python.
- Использование defaultdict в Python
- Применение команды break
- Циклы в Python
- Python: Splat-оператор и splatty-splat
- Циклы for в Python
- Работа с итераторами в Python
- Подсчет элементов с помощью Counter из collections
- Метод join() для объединения элементов строки
- Создание панели меню Tkinter
- Бесконечные списки в Python
- Копирование объектов в Python
- Открытие, чтение и закрытие файла
- Многострочные комментарии в Python
- Метод Enumerate() для списков
- Установка и использование howdoi
- Модуль pprint
- Тип CodeType в Python.
- Обновление множества в Python
- Работа с комплексными числами в Python
- Метод __iand__ для пользовательских классов
- Оператор «not» в Python
- Обновление данных через PUT запрос
- Хранение данных с помощью dataclasses
- Чтение бинарного файла в Python.
- Избегайте использования goto
- Философия Python
- Основы работы со списками
- Работа со строками в Python
- Создание новых функций с помощью functools.partial
- Метод count() для списков
- Метод __call__ в Python
- Функция product() из itertools
- Сортировка HTML по CSS-селектору
- Блок else в Python
- Возврат нескольких значений















