Курс 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"

  1. Переопределение оператора % для объектов
  2. Динамические маршруты во Flask
  3. Модуль os: работа с файлами и папками
  4. Объединение, распаковка и деструктуризация
  5. Введение в Python
  6. Логирование с Logzero
  7. Улучшенные подсказки для импорта в Python 3.12
  8. F-строки в Python 3.8
  9. Работа с набором данных CIFAR10 в PyTorch
  10. Расчет времени выполнения кода
  11. Оператор Walrus: правильное использование
  12. Сложение матриц в NumPy
  13. Управление импортом в Python
  14. Получение имени функции с помощью inspect
  15. Форматирование строк в Python
  16. Работа с YAML в Python
  17. Работа с itertools
  18. JSON в Python: модуль, dump, dumps, load
  19. Склеивание строк через метод join()
  20. Библиотека Chartify: руководство
  21. Условные выражения в Python
  22. Импорт классов из другого файла
  23. Разделение строки в Python
  24. Константы в модуле cmath
  25. Метод difference_update() — разность множеств
  26. Округление чисел с помощью round
  27. Подписка на каналы разработчиков
  28. Создание пар из последовательностей
  29. Модуль subprocess: запуск внешних команд
  30. Enum в Python
  31. Использование функции enumerate()
  32. Копирование в Python
  33. Объединение списков в строку
  34. Генераторы словарей и множеств
  35. Установка и использование модуля Wikipedia
  36. История Python
  37. Оператор walrus в Python
  38. Функция product() из itertools
  39. Создание объекта времени
  40. Метод join() для объединения элементов в строку.
  41. Автоматизация скриптов на AWS Lightsail.
  42. Bootle — простой веб-фреймворк
  43. Генератор списка в Python
  44. Извлечение чисел из текста

Marketello читают маркетологи из крутых компаний