Курс 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. Переворот строки с использованием цикла
  2. Реверс строки и списка в Python.
  3. Параллельные вычисления в Python
  4. Транспонирование матрицы в Python
  5. Модуль xkcd: загрузка комиксов
  6. Зарезервированные слова в Python
  7. Кортеж в Python: создание и использование
  8. Распаковка аргументов в Python
  9. Работа с CSV в Python
  10. Преобразование регистра строк
  11. Метод __iand__ для пользовательских классов
  12. Получение размера объекта с sys.getsizeof()
  13. Профилирование кода на Python
  14. Лямбда-функции в Python
  15. Лямбда-функции в Python
  16. Принципы Zen of Python
  17. Работа с географическими данными.
  18. Генераторы в Python
  19. Профилирование данных с Pandas.
  20. Метод split() для разделения строк
  21. Метод pop() списка
  22. Преобразование многоуровневого словаря
  23. Enum в Python: создание и использование перечислений
  24. Декораторы в Python
  25. Подсчет количества элементов в списке
  26. Метод rsub для пользовательских чисел
  27. Обработка исключений в Python
  28. Комментарии в Python
  29. Метод radd для пользовательских чисел
  30. Оператор «or» в Python
  31. Открытие и запись файлов
  32. Работа с срезами в Numpy
  33. Запуск Python из интерпретатора
  34. Метод __ilshift__ для битового сдвига влево
  35. Лямбда-функции в Python
  36. Управление ресурсами в Python
  37. Генератор надежных паролей
  38. Генерация ключей RSA
  39. Метод join() для объединения строк
  40. Python 3.12: переиспользование кавычек
  41. Декоратор @override
  42. Участие в LP стейкинге Waves
  43. Установка Git и AWS CLI
  44. Комментарии в Python.

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