Курс 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. Метод ior для битовых операций
  2. ChainMap избыточные ключи
  3. Наиболее частотные элементы с помощью Counter
  4. Установка Git и AWS CLI
  5. Метод join() для объединения строк
  6. Работа с PosixPath() в Python
  7. Декораторы в Python
  8. Работа с кортежами в Python
  9. Удаление ресурса в Python
  10. Метод pop() списка
  11. Установка и использование Python-dateutil
  12. Установка пакета в Python
  13. Использование обратной косой черты в f-строках
  14. Основы Python за 14 дней
  15. Нахождение максимального значения и его индекса в списке
  16. Скачать видео с YouTube
  17. Разбиение текста в Python
  18. Проверка типов с помощью isinstance
  19. Структура данных словарь в Python
  20. Обрезка изображения с Pillow
  21. split() — разделение строки
  22. Функция __init__ в Python
  23. Метод matmul для умножения матриц
  24. Список и кортеж в Python
  25. Подсказки типов в Python
  26. Оптимизация строк в Python
  27. Подсчет элементов в Python
  28. Beautiful Soup — извлечение данных из HTML
  29. Многострочные комментарии в Python
  30. Определение имен функций
  31. Обновление данных через PUT запрос
  32. Зарезервированные слова в Python
  33. Модуль itertools: комбинации и перестановки
  34. Функции map, filter, reduce
  35. Списковые включения в Python
  36. Создание циклической ссылки
  37. Генераторы данных
  38. Атрибуты класса и экземпляра
  39. Объединение списков в Python.
  40. Оператор Walrus в Python 3.8
  41. Деление в Python
  42. Избегайте изменяемых аргументов
  43. Класс-оболочка для словарей
  44. Реализация операции -= для пользовательского класса
  45. Введение в Python

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