Курс 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. Разделение строки в Python
  3. Логические значения в Python
  4. Избегание циклических зависимостей классов в Python
  5. Сериализация и десериализация объектов
  6. Списковые включения в Python
  7. Преобразование букв в нижний регистр
  8. Метод setdefault() в Python
  9. Разбиение текста в Python
  10. Порядок и длина множеств в Python
  11. Оператор in для Python
  12. Работа с географическими данными в Python
  13. Асинхронное выполнение задач в процессах
  14. Роль ключевого слова self
  15. Удаление ключей из словаря
  16. Работа с JSON в Python
  17. Измерение времени выполнения кода
  18. Использование функции enumerate()
  19. Операторы += в Python
  20. Работа с изменяемыми коллекциями
  21. Оператор «or» в Python
  22. Библиотека itertools: объединение списков
  23. Генерация случайных чисел в Python
  24. Создание словарей и множеств в Python.
  25. Combobox в Tkinter
  26. Pillow: работа с изображениями
  27. Обработка ошибок в Python
  28. Атрибуты объекта в Python
  29. Генераторы словарей и множеств
  30. Создание словаря и множества
  31. Обработка ошибок в JSON данных
  32. Функции в одну строку
  33. Работа с классами данных
  34. Создание словаря через dict comprehension
  35. Вставка переменных в шаблоны Flask
  36. Подсказки типов в Python
  37. Нахождение отличий в списках
  38. Копирование в Python
  39. Оператор «not» в Python
  40. F-строки в Python
  41. Создание namedtuple списком полей
  42. Карта бомбоубежищ в Москве и Питере
  43. Работа с буфером обмена на Python
  44. Профилирование кода на Python

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