Курс 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. Flask — веб-фреймворк Python
  5. Оператор умножения для вектора
  6. Чтение бинарного файла в Python.
  7. Измерение времени выполнения кода с использованием time
  8. Фильтрация списка от «ложных» значений
  9. Изменение логики работы с временем
  10. Форматирование строк в Python.
  11. Создание уникального множества
  12. Регулярные выражения: метод match
  13. Возврат нескольких значений
  14. Форматирование объектов с модулем pprint
  15. Метод __int__ в Python
  16. Преобразование регистра символов
  17. Переопределение метода
  18. Генераторы списков
  19. Создание и операции с дробями
  20. Python и Монти Пайтон
  21. Ограничение итераций в Python
  22. Метод join() с набором
  23. Очистка списка от False, None, 0, «»
  24. Нахождение хеша для бесконечности и NaN в Python
  25. Эффективная конкатенация строк с использованием join()
  26. Библиотека funcy: удобные утилиты
  27. Сохранение Unicode в JSON
  28. Работа с WindowsPath()
  29. Компиляция регулярных выражений
  30. Оформление кода на Python
  31. Объединение словарей в Python
  32. Векторизация в Python с NumPy.
  33. Модуль sys: основы
  34. Функция all() в Python
  35. Работа с эмодзи в Python
  36. Отрицательные индексы списков в Python
  37. Циклы в Python
  38. Функция zip() в Python
  39. Переворот списка в Python
  40. Классы данных в Python
  41. Функции map() и reduce() в Python
  42. Python: цикл for и оператор присваивания
  43. capitalize() — изменение регистра первого символа строки
  44. Форматирование данных с помощью pprint
  45. Вычисление логарифмов в Python
  46. Работа с CSV файлами

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