Курс 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. Создание директории в Python
  4. Оператор zip в Python
  5. Присоединение элементов коллекции
  6. Печать календаря
  7. Метод add для класса Vector
  8. Создание OrderedDict
  9. Структуры данных в Python
  10. Оператор Walrus в Python
  11. Оператор continue в Python
  12. Удаление URL-адресов в Python
  13. Оператор «and» в Python
  14. Операторы объединения в Python 3.9
  15. Хешируемые ключи в Python
  16. Лямбда-функции в Python
  17. Модуль future Python
  18. Списковое включение в Python
  19. Преобразование в float
  20. Управление ресурсами с контекстными менеджерами
  21. enumerate() в Python для работы с индексами
  22. Функция map() в Python
  23. Распаковка аргументов в Python
  24. Возврат значений из генератора
  25. Удаление первого элемента списка
  26. Удаление дубликатов с помощью множеств
  27. Копирование объектов в Python
  28. Метод title() в Python
  29. Обработка StopIteration в Python
  30. Форматирование строк в Python
  31. Flask: создание веб-приложений
  32. Работа с модулем random
  33. Работа с f-строками 2.0
  34. Использование type hints
  35. Скачать видео с YouTube
  36. Функция product() из itertools
  37. Перегрузка операторов в Python
  38. Итераторы с потерямиZIP
  39. Оператор «моржа» (Walrus Operator)
  40. Область видимости переменных в Python
  41. Работа с географическими данными в Python
  42. Списки в Python: основы
  43. Избегайте использования goto
  44. Метод count() для списка
  45. Обновление ключей в Python

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