Курс Python → Поиск всех индексов подстроки

Метод index() в Python используется для поиска первого вхождения подстроки в строку и возвращает индекс этого вхождения. Однако, если мы хотим получить доступ ко всем индексам, по которым находится подстрока, мы можем написать пользовательскую функцию, которая будет искать все вхождения подстроки и возвращать список индексов.

Пример пользовательской функции для поиска всех индексов подстроки в строке:


def find_all_indexes(input_str, substring):
    indexes = []
    index = -1
    while True:
        index = input_str.find(substring, index + 1)
        if index == -1:
            break
        indexes.append(index)
    return indexes

input_str = "hello world hello"
substring = "hello"
indexes = find_all_indexes(input_str, substring)
print(indexes)

В данном примере мы создали функцию find_all_indexes(), которая принимает строку и подстроку, и возвращает список всех индексов, по которым находится подстрока. Затем мы вызываем эту функцию с примером строки «hello world hello» и подстрокой «hello» и выводим список индексов, по которым находится данная подстрока.

Таким образом, используя пользовательскую функцию, мы можем получить доступ ко всем индексам, по которым находится подстрока в строке, в отличие от метода index(), который возвращает только первое вхождение подстроки.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Создание пользовательской коллекции в Python
  2. Метод get для словарей
  3. Использование type hints
  4. Модуль array: создание и использование массивов
  5. Объединение строк с помощью метода join
  6. Модуль subprocess: запуск внешних команд
  7. Основы работы со строками в Python
  8. Python Enumerate
  9. Работа с многоуровневыми словарями в Python
  10. Цикл for в Python
  11. Метод get() в Python
  12. Основы работы со списками
  13. Округление банкира в Python
  14. Переменная Шредингера
  15. Работа с комбинациями в Python.
  16. Изменение элемента списка
  17. Многострочные строки в Python
  18. Обработка исключений в Python
  19. Обмен переменными в Jupyter
  20. Установка и использование Virtualenv
  21. Операции с матрицами в Python
  22. Оператор del в Python
  23. Нахождение разницы между списками в Python
  24. Операции с массивами в NumPy
  25. Операторы присваивания в Python
  26. Оптимизация сравнения в Python
  27. Округление чисел с помощью round
  28. Нахождение отличий в списках
  29. Отладка кода
  30. Namedtuple в Python
  31. Добавление элемента в список.
  32. Проверка запуска скрипта или импорта модуля
  33. Декораторы в Python
  34. Создание и инициализация объектов
  35. ROT13 Шифр Цезаря в Python
  36. Основы работы с os
  37. Декораторы в Python
  38. Форматирование данных с помощью pprint
  39. Работа с PosixPath() в Python
  40. Обработка ошибки IndexError
  41. Python enumerate() для работы с индексами
  42. Конкатенация строк с методом join()
  43. Расчет времени выполнения
  44. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  45. Обязательные аргументы в Python
  46. Работа с GitHub в Telegram
  47. Форматирование данных с pprint

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