Курс 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. Модуль math: основные функции
  2. Проблемы с именами переменных
  3. Работа с YAML в Python
  4. Проверка кортежей.
  5. Разбиение текста в Python
  6. Работа с кортежами
  7. Ограничение ресурсов в Python
  8. Печать месячного календаря
  9. Numpy: разбиение массивов
  10. Проверка подстроки в строке с помощью in
  11. Поиск частого элемента
  12. Использование модуля math
  13. Реализация операции -= для пользовательского класса
  14. Python groupby() из itertools: работа с повторяющимися элементами
  15. Объявление переменных в Python
  16. Проверка дублей в списке.
  17. Возврат нескольких значений
  18. Оператор «not» в Python
  19. Освоение Python
  20. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  21. Работа с необработанными строками
  22. Преобразование вложенного списка
  23. Профилирование данных с Pandas.
  24. Переопределение метода __eq__
  25. Абстракции словарей и множеств в Python
  26. Упрощение условных выражений с тернарным оператором
  27. Счетчик ссылок в Python
  28. Создание комплексных чисел
  29. Копирование словарей и списков в Python
  30. Функция с *args.
  31. Структурирование именованных констант
  32. Работа с коллекциями Python
  33. Очистка входных данных
  34. Работа с контекстными переменными
  35. Генерация ключей RSA
  36. Оптимизация строк в Python
  37. Конкатенация строковых литералов
  38. Проверка однородности элементов списка
  39. Функции any() и all() в Python
  40. Работа с библиотекой requests
  41. Принципы Zen Python
  42. Модуль array: создание и использование массивов
  43. Генераторы в Python
  44. Реализация метода __abs__ в Python

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