Курс 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. Генераторы в Python
  3. Избегайте ошибку FileNotFoundError
  4. Замена переменных в Python
  5. Создание класса очереди
  6. Измерение времени выполнения
  7. Конкатенация строк с методом join()
  8. Обработка ошибок в Python
  9. Объединение словарей в Python 3.5+
  10. Работа со списками
  11. Асинхронное выполнение задач в Python
  12. Bootle — простой веб-фреймворк
  13. Поиск частого элемента
  14. Улучшение читаемости кода в Python
  15. Принципы SRP и OCP
  16. Оператор «not» в Python
  17. Подробная информация о %pinfo
  18. Поиск самого длинного слова в списке с использованием max()
  19. Область видимости переменных
  20. Просмотр внешних файлов в %pycat
  21. Слияние словарей в Python 3.9
  22. Перегрузка операторов в Python
  23. Функция enumerate в Python
  24. Генерация ключей RSA
  25. Работа с изменяемыми коллекциями
  26. Атрибуты объекта в Python
  27. Создание матрицы в Python
  28. Декораторы с аргументами в Python
  29. Создание пользовательской коллекции в Python
  30. Удаление файлов с shutil.os.remove()
  31. Функция reduce() из модуля functools
  32. Создание новых списков через list comprehensions
  33. Измерение времени выполнения кода
  34. Основы работы со списками
  35. Работа с прокси в Python
  36. Расчет времени выполнения
  37. Метод difference_update() — разность множеств
  38. Поиск email
  39. Основы работы со строками в Python
  40. Функция zip() в Python
  41. Работа с необработанными строками
  42. Метод join() с набором
  43. Проверка индексов коллекции
  44. Особенности множеств в Python
  45. Профилирование кода
  46. Перегрузка операторов в Python
  47. Реализация операции -= для пользовательского класса

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