Курс 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. Поиск наиболее частого элемента в списке
  2. Логирование с Logzero
  3. Округление чисел с помощью round
  4. Очистка данных в Python
  5. Определение основы слова с showballstemmer
  6. Создание новых списков через list comprehensions
  7. Метод is_absolute() для PurePath
  8. Переопределение метода __lshift__
  9. Проверка элементов списка условием
  10. Поиск с помощью регулярных выражений
  11. Операторы Splat и splatty-splat
  12. Определение имен функций
  13. Удаление ссылок в Python
  14. Форматирование строк в Python
  15. Отображение графиков в Jupyter с Matplotlib
  16. Импорт модулей в Python 3.12
  17. Преобразование кортежа в словарь.
  18. Измерение времени выполнения кода в Python
  19. Изменение списка срезами
  20. Подсчет вхождений элементов
  21. Установка максимального количества цифр
  22. Вычисление фазы комплексного числа
  23. Обработка элементов в Python
  24. Замена символов в строке
  25. Отладка утечек памяти в Python
  26. Удаление дубликатов с помощью множеств
  27. Определение индекса элемента списка
  28. Работа с Requests для HTTP-запросов
  29. Создание списков в Python
  30. Уникальные значения из списка
  31. Экспорт данных с помощью writefile
  32. Встраивание HTML в Jupyter Notebook
  33. Переопределение метода __rshift__
  34. Капитализация строк
  35. Библиотека schedule: планировщик задач
  36. globals и locals
  37. Модуль array: создание и использование массивов
  38. Атрибуты класса и экземпляра в Python
  39. Сортировка HTML по CSS-селектору
  40. Конкатенация строк с join() в Python
  41. UserString в Python
  42. %pinfo: получение информации об объекте
  43. Выборка чисел
  44. Генератор списка с условием if
  45. JMESPath в Python
  46. Создание функций с произвольным количеством аргументов
  47. Управление асинхронными задачами с помощью Semaphore
  48. Измерение потребления памяти при сортировке

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