Курс Python → Поиск индексов подстроки

Для того чтобы найти все индексы для подстроки в строке, мы можем создать пользовательскую функцию, которая будет итеративно проходить по строке и находить все вхождения подстроки. Например, мы можем создать функцию find_all_indexes(), которая будет принимать строку и подстроку в качестве аргументов и возвращать список всех индексов, по которым найдена подстрока.


def find_all_indexes(s, sub):
    indexes = []
    index = s.find(sub)
    while index != -1:
        indexes.append(index)
        index = s.find(sub, index + 1)
    return indexes

string = "hello world hello hello"
substring = "hello"
indexes = find_all_indexes(string, substring)
print(indexes)  # выводит [0, 12, 18]

В приведенном примере мы создали функцию find_all_indexes(), которая ищет все вхождения подстроки «hello» в строке «hello world hello hello». Мы итеративно вызываем метод find() для поиска подстроки, начиная с последнего найденного индекса + 1. Когда метод find() возвращает -1, это означает, что больше вхождений не найдено, и мы завершаем выполнение функции, возвращая список всех найденных индексов.

Таким образом, мы можем легко находить все индексы для подстроки в строке, используя пользовательскую функцию и метод find(). Это удобный способ для более точного анализа текста и работы с подстроками в Python.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Декораторы классов
  2. Разница между датами
  3. Добавление кнопки в tkinter
  4. Создание итератора
  5. Модуль sys: основы
  6. Распаковка аргументов в Python
  7. Группы исключений в Python
  8. Вывод символов строки в Python
  9. Генераторы в Python
  10. Блок try…finally в Python
  11. Модуль future Python
  12. UserList в Python: Описание и примеры использования
  13. Непрерывная проверка в Python
  14. Объединение списков в Python
  15. Ошибка NotImplemented в Python
  16. Счетчик ссылок в Python
  17. Метод lt для сортировки объектов
  18. Создание и обучение модели с Keras
  19. ChainMap.new_child() — добавление нового словаря
  20. Модуль inspect
  21. Поиск шаблона в строке
  22. Определение локальных переменных в Python
  23. Оператор морж в Python 3.8
  24. Оператор in для Python
  25. Работа с рекламными данными в Pandas
  26. Python groupby() из itertools: работа с повторяющимися элементами
  27. Передача аргументов через **arguments
  28. Удаление элементов из списка
  29. Работа с парами ключ-значение
  30. Копирование объектов в Python
  31. 9 уловок для чистого кода
  32. Функция findall() для поиска вхождений строки
  33. Измерение потребления памяти при сортировке
  34. Оператор распаковки в Python
  35. Создание итерируемых объектов
  36. Многострочные строки в Python
  37. Цикл for в Python
  38. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  39. Преобразование PowerPoint в PDF.
  40. Python Аргументы по умолчанию
  41. Работа с множествами в Python
  42. Сложные типы данных в Python
  43. Defaultdict в Python
  44. Вакансии в Nebius
  45. Получение пути к текущему скрипту с помощью os

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