Курс 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. Проверка файла .py на синтаксис.
  2. Ускорение кода с помощью векторизации
  3. История Python
  4. Создание и использование модулей в Python
  5. Python 3.12: Псевдонимы типов
  6. Обработка ошибок в Python
  7. Парсинг статей с Newspaper3k
  8. Подсчет элементов с помощью Counter
  9. Python Метод del.
  10. Поиск простых чисел
  11. Динамическая типизация в Python
  12. Python union() функция — объединение множеств
  13. Измерение времени выполнения кода в Python
  14. Вложенные генераторы в Python
  15. Вывод сложных структур данных с помощью pprint
  16. Безопасный доступ к значениям словаря
  17. Форматирование кода на Python
  18. Извлечение новостей с newspaper3k
  19. Метод сравнения объектов в Python
  20. Избегайте двойного подчеркивания
  21. Добавление элемента в список.
  22. Копирование объектов в Python
  23. Функциональное программирование.
  24. Считывание бинарного файла в Python
  25. Визуализация пропусков данных
  26. Основы работы со списками
  27. Итерация по коллекции в Python
  28. Оператор break в Python
  29. Просмотр атрибутов и методов класса
  30. Сравнение def и lambda-функций
  31. Работа со строками в Python
  32. Хеширование паролей с использованием salt
  33. Создание новых списков в Python
  34. Flask: создание веб-приложений
  35. Сравнение строк в Python
  36. Работа с географическими данными в Python
  37. Управление памятью в numpy.
  38. Делегирование в Python
  39. Счетчик ссылок в Python
  40. Работа с парами ключ-значение
  41. Замена символов в Python
  42. Отправка POST запроса на сервер.
  43. Дизассемблирование Python кода
  44. Работа с Event() в threading
  45. Именованные аргументы в Python

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