Курс 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. Создание класса очереди
  3. TypedDict для kwargs в Python 3.12
  4. Отслеживание выполнения программы с библиотекой tqdm
  5. Протокол управления контекстом
  6. Асинхронное программирование с asyncio
  7. Итераторы в Python
  8. Автоматизация с Python
  9. Списковые включения в Python
  10. Генерация случайных чисел в Python
  11. Форматирование строк в Python
  12. Нарезка списков в Python
  13. Построение графиков в терминале с bashplotlib
  14. Экранирование символов в Python
  15. Карта бомбоубежищ в Москве и Питере
  16. Установка пакета в Python
  17. Работа с аргументами командной строки
  18. Типы возвращаемых значений в Python
  19. Генерация UUID в Python
  20. Работа с Colorama
  21. Подсказки при вводе данных в Python
  22. Группы исключений в Python
  23. Метод ne для сравнения объектов
  24. Создание и обучение модели с Keras
  25. Особенности ключей словаря в Python
  26. Работа с YAML в Python
  27. Работа с WindowsPath()
  28. Игра «Камень, ножницы, бумага» — Python
  29. Регистрация на хакатоне
  30. Метод join() для объединения элементов в строку.
  31. Замена символов в Python
  32. Принципы программирования
  33. Повторение элементов списков
  34. Работа с getopt
  35. Проверка существования переменной с оператором :=
  36. Работа с пользовательским вводом
  37. Декораторы в Python
  38. Обработка аргументов Python
  39. Работа с NumPy массивами
  40. Python enumerate() для работы с индексами
  41. Запуск внешнего кода в Jupyter
  42. Заказ карты Тинькофф Black
  43. Добавление элементов в список
  44. Генераторы в Python
  45. Работа с YAML в Python
  46. Хранение переменных в Python.
  47. Конкатенация строк в Python
  48. Перевод эмодзи и эмотиконов.

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