Курс 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. Работа с буфером обмена на Python
  2. Работа со строками в Python
  3. Извлечение чисел из текста
  4. Метод radd для пользовательских чисел
  5. Модуль array: создание и использование массивов
  6. Структура данных словарь в Python
  7. Работа с файлами в Python
  8. Декораторы в Python
  9. Работа с контекстным менеджером Pool
  10. Склеивание строк без циклов
  11. Python: библиотеки и функции
  12. Работа с часовыми поясами в Python
  13. Оператор деления для класса Rational
  14. Counter() — подсчет элементов
  15. Сравнение def и lambda-функций
  16. Метод split() для разделения строк
  17. Использование html-скриптов в Jupyter Notebook
  18. Базовые объекты Python
  19. Официальный канал Python в Telegram
  20. Удаление файлов с shutil.os.remove()
  21. Работа с часовыми поясами в Python.
  22. Разделение строк методом split()
  23. Работа с файлами и директориями в Python.
  24. Обработка исключений в Python
  25. Применение функции к каждому элементу списка
  26. %pinfo: получение информации об объекте
  27. Замыкания в Python
  28. Виртуальные среды в Python
  29. Лямбда-функции в Python
  30. Работа с CSV файлами в Python
  31. Функция product() в Python
  32. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  33. Деление в Python
  34. Форматирование строк в Python
  35. Визуализация пропусков данных
  36. Подсчет элементов в списке с Counter
  37. Метод rename() для переименования файлов и каталогов
  38. Логический оператор «and» в Python
  39. Проверка однородности элементов списка
  40. Генераторы в Python
  41. Обработка исключений в Python
  42. Решение переменной Шредингера
  43. Определение функций с необязательными аргументами
  44. Метод lt для сортировки объектов
  45. Оператор «and» в Python
  46. Структурирование именованных констант
  47. Именованные аргументы в Python
  48. Работа с срезами в Numpy

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