Курс 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. Работа с модулем random
  2. Отправка поздравлений по дню рождения
  3. Удаление ресурса в Python
  4. Расширение операции побитового «и» в Python
  5. Создание множества в Python
  6. Склеивание строк без циклов
  7. Подсчет элементов в списке с Counter
  8. Лямбда-функции в defaultdict
  9. Форматирование строк в Python
  10. Работа с CSV файлами в Python
  11. Просмотр файла в Jupyter Noteboo
  12. Разделение строк в Python
  13. Многопоточность и асинхронное программирование в Python
  14. Транспонирование 2D-массива с помощью zip
  15. IPython и Jupyter Notebook: руководство
  16. Получение срезов итераторов
  17. Установка User-Agent в Python
  18. Работа с модулем cmath
  19. Управление виртуальными окружениями в Python
  20. Многострочные комментарии в Python
  21. Обработка исключений в Python 3
  22. Обратное распространение ошибки
  23. Основы работы с базами данных в Python
  24. Проверка окончания строки с помощью str.endswith()
  25. Проверка типов с помощью isinstance
  26. Работа с SQLite в Python
  27. Метод get для словаря
  28. Уникальность ключей в словаре
  29. Преобразование чисел в восьмеричную строку
  30. Работа с CSV в Python
  31. Метод init в Python
  32. Преобразование генераторов в циклы
  33. Оценка точности модели
  34. Установка и использование TensorFlow
  35. Подсказки типов в Python
  36. Проблемы с dict в Python
  37. Хранение данных
  38. Работа с CSV файлами
  39. Удаление эмодзи с помощью pandas
  40. Списковое включение в Python
  41. Структура данных словарь в Python
  42. F-строки в Python 3.8
  43. Освоение Python
  44. Методы list в Python
  45. Методы в Python
  46. Создание словаря и множества
  47. Транспонирование матрицы

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