Курс 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. Вакансии в Nebius
  2. Удаление файлов с shutil.os.remove()
  3. Непрерывная проверка в Python
  4. Метод enumerate() в Python
  5. Метод Enumerate() для списков
  6. Метод __iand__ для пользовательских классов
  7. Определение объема памяти объекта
  8. Магические методы в Python
  9. Генераторы в Python
  10. Создание GUI на Tkinter
  11. Метод join() с набором
  12. Использование обратной косой черты в f-строках
  13. Библиотека Rich: форматирование текста
  14. Управление ресурсами в Python
  15. Создание тестовых данных с Faker
  16. Переопределение метода
  17. Возврат значений из генератора
  18. Преобразование регистра строк
  19. Разделение строки на пары ключ-значение.
  20. Аннотации типов в Python
  21. Атрибуты класса и экземпляра
  22. Создание и операции с дробями
  23. Перевернуть список в Python
  24. Метод join() для объединения элементов строки
  25. PUT запрос для обновления данных
  26. Шаблоны и наследование в Flask
  27. Метод is_absolute() для PurePath
  28. Реализация метода __abs__ в Python
  29. Копирование словарей и списков в Python
  30. Фильтрация входных данных в Python
  31. capitalize() — изменение регистра первого символа строки
  32. Функции map() и reduce() в Python
  33. Методы split() и join() — Python строк.
  34. Работа со строками в Python
  35. Генератор данных в Keras
  36. Экспорт внешнего файла с помощью writefile
  37. Разделение функций на этапы
  38. Курс по дообучению ChatGPT
  39. Сравнение строк в Python
  40. Преобразование многоуровневого словаря
  41. Python: отсутствие точек с запятыми
  42. Итераторы в Python
  43. Проверка условий в Python
  44. Шаблоны Flask: условия и циклы
  45. Работа с итераторами в Python

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