Курс 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 Enum Weekday Usage
  2. Удаление первого элемента списка
  3. Структурирование данных с Pydantic
  4. Курс Data Scientist в медицине
  5. Замена текста в Python
  6. Метод gt в Python
  7. Получение текущей даты в Python
  8. Оператор (*) в Python
  9. Работа с атрибутом dict
  10. Списковое включение в Python
  11. Работа с файлами в Python
  12. Метод __ilshift__ для битового сдвига влево
  13. Метод pos в Python
  14. Установка и обучение ChatterBot
  15. Извлечение чисел из текста
  16. Экспорт данных в файл.
  17. Курсы Яндекс Практикум
  18. Работа с парами ключ-значение
  19. Сортировка в Python
  20. Numpy: объединение массивов
  21. Ограничение итераций в Python
  22. Переменная с нижним подчеркиванием
  23. Списки: объединение, изменение
  24. Antigravity модуль
  25. Аргумент по умолчанию
  26. Округление в Python
  27. Работа с буфером обмена на Python
  28. Генераторы списков в Python
  29. Проверка элемента в множестве.
  30. Работа с NumPy.linalg
  31. Обработка StopIteration в Python
  32. Создание Telegram-бота на Python
  33. ChainMap.new_child() — добавление нового словаря
  34. Асинхронное программирование с asyncio
  35. Python Тесты и Гайды
  36. Оформление кода на Python
  37. Функции с необязательными аргументами
  38. Pretty-printing JSON в Python
  39. Форматирование кода на Python
  40. Отладка в Python
  41. Переопределение метода __rshift__
  42. Метод getitem для доступа к элементам последовательности
  43. Установка и использование pyshorteners
  44. Логирование с Logzero
  45. Функция enumerate() в Python
  46. Вычисление разности множеств в Python
  47. Оптимизация памяти с slots

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