Курс 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
- Работа со строками в Python
- Извлечение чисел из текста
- Метод radd для пользовательских чисел
- Модуль array: создание и использование массивов
- Структура данных словарь в Python
- Работа с файлами в Python
- Декораторы в Python
- Работа с контекстным менеджером Pool
- Склеивание строк без циклов
- Python: библиотеки и функции
- Работа с часовыми поясами в Python
- Оператор деления для класса Rational
- Counter() — подсчет элементов
- Сравнение def и lambda-функций
- Метод split() для разделения строк
- Использование html-скриптов в Jupyter Notebook
- Базовые объекты Python
- Официальный канал Python в Telegram
- Удаление файлов с shutil.os.remove()
- Работа с часовыми поясами в Python.
- Разделение строк методом split()
- Работа с файлами и директориями в Python.
- Обработка исключений в Python
- Применение функции к каждому элементу списка
- %pinfo: получение информации об объекте
- Замыкания в Python
- Виртуальные среды в Python
- Лямбда-функции в Python
- Работа с CSV файлами в Python
- Функция product() в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Деление в Python
- Форматирование строк в Python
- Визуализация пропусков данных
- Подсчет элементов в списке с Counter
- Метод rename() для переименования файлов и каталогов
- Логический оператор «and» в Python
- Проверка однородности элементов списка
- Генераторы в Python
- Обработка исключений в Python
- Решение переменной Шредингера
- Определение функций с необязательными аргументами
- Метод lt для сортировки объектов
- Оператор «and» в Python
- Структурирование именованных констант
- Именованные аргументы в Python
- Работа с срезами в Numpy















