Курс 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. Функция enumerate() — Python
  2. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  3. JMESPath в Python
  4. Конкатенация строковых литералов
  5. Python Тесты и Гайды
  6. Python 3.12: Псевдонимы типов
  7. Поиск кода
  8. Оператор is в Python
  9. Модуль subprocess: запуск внешних команд
  10. Анализ текста на русском языке с помощью Pymystem3
  11. Настройка нарезки списков
  12. Округление чисел с помощью round
  13. Работа с кортежами
  14. Уникальные значения из списка
  15. Применение функции к каждому элементу списка
  16. Поиск наиболее частого элемента
  17. Flask — веб-фреймворк Python
  18. Необязательные аргументы в Python
  19. Разделение строки на подстроки в Python
  20. Retrying в Python: повторные вызовы
  21. Непрерывная проверка в Python
  22. Обработка данных в Python
  23. Применение промокода в Много лосося
  24. Метод append() для списка
  25. Просмотр атрибутов и методов класса
  26. Работа с модулем Calendar
  27. Ошибка NotImplemented в Python
  28. Функции классификации комплексных чисел
  29. Цикл while в Python
  30. Работа с датой и временем в Python
  31. Ветвление выражения в Python
  32. Распаковка аргументов в Python
  33. Подсчет элементов с помощью Counter
  34. Удаление элементов из списка в Python.
  35. Поиск индекса элемента
  36. Порядок и длина множеств в Python
  37. Python и Монти Пайтон
  38. Сортировка HTML по CSS-селектору
  39. Магические методы в Python
  40. Работа с библиотекой xkcd
  41. Операторы присваивания в Python
  42. Структуры данных в Python
  43. Работа с IP-адресами в Python
  44. Эффективная конкатенация строк с использованием join()
  45. Enum в Python
  46. Создание виртуальной среды

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