Курс 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. Операция += для списков
  3. Распаковка элементов последовательности
  4. Бесконечные списки в Python
  5. Именование переменных в Python
  6. Работа с комплексными числами
  7. Функция zip() — объединение последовательностей
  8. Создание задания в Cron
  9. Python: Фильтрация списков с помощью filter()
  10. Профилирование кода на Python
  11. Операторы присваивания в Python
  12. Сортировка с помощью параметра key
  13. Оператор объединения словарей
  14. Работа с NumPy.linalg
  15. Объединение словарей в Python
  16. Выход из профиля в Django
  17. Обработка исключений в Python
  18. Копирование списков в Python
  19. Символ подчеркивания в Python
  20. Работа с датой и временем в Python
  21. Переопределение метода __pow__
  22. Работа с изменяемыми коллекциями
  23. Методы __repr__ и __str__ в Python
  24. Переопределение метода __or__()
  25. Лямбда-функции в Python
  26. Порядок операций в Python
  27. Python: отсутствие точек с запятыми
  28. Декоратор Property в Python
  29. Переменная Шредингера
  30. Применение функции map() с лямбда-функциями
  31. Функция rsplit() в Python
  32. Оптимизация поиска в словарях
  33. Группировка элементов в словарь
  34. Обязательные аргументы в Python
  35. Списковое включение в Python
  36. Работа с collections в Python
  37. Оператор деления для класса Rational
  38. Запрос DELETE с библиотекой requests
  39. Генерация строк с .join()
  40. Простой калькулятор Python
  41. Вложенные генераторы в Python
  42. Передача параметров в Python
  43. Оценка точности модели

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