Курс 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. Импорт и использование модулей в Python
  2. Возвращение нескольких значений через кортеж или класс
  3. Переопределение метода __lshift__
  4. Дефолтные параметры в Python
  5. Получение текущей даты и времени с помощью datetime
  6. Необязательные аргументы в Python
  7. Работа с кортежами в Python
  8. Склеивание строк через метод join()
  9. Анонимные функции в Python
  10. Новшества Flask 2.0
  11. Python: динамическая типизация и проверка типов
  12. Расчет времени выполнения программы
  13. Удаление элементов из списка в Python.
  14. Использование defaultdict в Python
  15. Применение команды break
  16. Циклы в Python
  17. Python: Splat-оператор и splatty-splat
  18. Циклы for в Python
  19. Работа с итераторами в Python
  20. Подсчет элементов с помощью Counter из collections
  21. Метод join() для объединения элементов строки
  22. Создание панели меню Tkinter
  23. Бесконечные списки в Python
  24. Копирование объектов в Python
  25. Открытие, чтение и закрытие файла
  26. Многострочные комментарии в Python
  27. Метод Enumerate() для списков
  28. Установка и использование howdoi
  29. Модуль pprint
  30. Тип CodeType в Python.
  31. Обновление множества в Python
  32. Работа с комплексными числами в Python
  33. Метод __iand__ для пользовательских классов
  34. Оператор «not» в Python
  35. Обновление данных через PUT запрос
  36. Хранение данных с помощью dataclasses
  37. Чтение бинарного файла в Python.
  38. Избегайте использования goto
  39. Философия Python
  40. Основы работы со списками
  41. Работа со строками в Python
  42. Создание новых функций с помощью functools.partial
  43. Метод count() для списков
  44. Метод __call__ в Python
  45. Функция product() из itertools
  46. Сортировка HTML по CSS-селектору
  47. Блок else в Python
  48. Возврат нескольких значений

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