Курс 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"
- Методы работы со списками
- Извлечение новостей с newspaper3k
- Регулярные выражения в Python
- Работа с NumPy.linalg
- Логирование с Logzero: ротация файла
- Python: Фильтрация списков с помощью filter()
- Генератор списка с условием if
- Функция с **kwargs в Python
- Проверка типов с помощью isinstance
- Метод is_absolute() для PurePath
- Логирование с Logzero
- Метод __float__ в Python
- Аргументы *args и **kwargs
- Оптимизация параметров в Python
- Функция reduce() из модуля functools
- Работа с набором данных CIFAR10 в PyTorch
- Логирование с Logzero
- Сериализация объектов в Python
- Получение имени функции с помощью inspect
- Colorama: окрашивание текста в Python
- Рациональные числа в Python
- Инверсия списка/строки в Python
- Объединение объектов в Python
- Ошибка NotImplemented в Python
- Хранение данных с помощью dataclasses
- Обновление шаблона base.html
- f-строки в формате строк
- Функция zip() в Python
- Объявление переменных в Python
- Вывод с переменной через запятую
- Функция findall() для поиска вхождений строки
- Оператор in для Python
- Расчет времени выполнения программы
- Оператор match в Python
- Декораторы для регистрации функций
- Применение функции к каждому элементу списка
- Оформление кода по PEP 8
- Обмен значений переменных в Python
- Обработка исключений в Python
- Моржовый оператор в Python 3.8
- PEP-401: оператор
- Цикл for с enumerate() в Python
- Генераторы в Python
- Замена элементов в списке с помощью генераторов списков
- Конструктор в Python
- Удаление файлов в Python















