Курс 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. Применение команды break
  2. Преобразование типов данных в set comprehension
  3. Наиболее частотные элементы с помощью Counter
  4. Python union() функция — объединение множеств
  5. Типы возвращаемых значений в Python
  6. Множественное присваивание в Python
  7. Список и кортеж в Python
  8. Пространство имен в Python
  9. Итерация по итерируемым объектам
  10. Обработка исключений в Python 3
  11. Многострочные строки в Python
  12. Блок else в циклах Python
  13. Обязательные аргументы в Python
  14. Python: библиотеки и функции
  15. Defaultdict в Python
  16. Работа с NumPy
  17. Итераторы в Python
  18. Работа с переменными в Python
  19. Создание и операции с дробями
  20. Функция reduce() в Python
  21. Работа с файлами в Python
  22. Создание класса очереди
  23. Обезопасьте ввод данных
  24. Модуль future Python
  25. Необязательные аргументы в Python
  26. Замыкания в Python
  27. Метод enumerate() в Python
  28. Основы работы со строками в Python
  29. Генерация QR-кодов с библиотекой qrcode
  30. Доступ к локальным переменным
  31. Работа с итераторами в Python
  32. Экспорт внешнего файла с помощью writefile
  33. Метод append() для списка
  34. Сохранение Unicode в JSON
  35. Подсчет частотности элементов в Python
  36. Numpy: использование Ellipsis
  37. Разделение строк в Python
  38. Генераторы данных
  39. Разделение строки с помощью split()
  40. Работа с YAML в Python
  41. Роль запятой в Python
  42. Работа с f-строками 2.0
  43. Просмотр атрибутов и методов класса

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