Курс 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. Управление IP-адресами через прокси
  3. Проверка условий: all и any
  4. Использование метода lower()
  5. Python: изменяемые и неизменяемые коллекции
  6. Аргумент по умолчанию
  7. Основы Python
  8. Pillow: работа с изображениями
  9. Управление асинхронными задачами с помощью Semaphore
  10. Lambda Functions in Python
  11. Измерение времени выполнения
  12. Отправка HTTP-запросов в Python
  13. Создание класса очереди
  14. Python Метод sleep() времени
  15. Обход элементов в Python
  16. Применение функции map() с лямбда-функциями
  17. Настройка нарезки списков
  18. Функция reduce() в Python
  19. Логические значения в Python
  20. Анонимные функции в Python
  21. Возврат нескольких значений
  22. Асинхронное программирование с asyncio
  23. Создание новых списков через list comprehensions
  24. Работа с JSON в Python
  25. Пропуск начальных строк с помощью dropwhile()
  26. Профилирование данных с Pandas.
  27. Получение списка файлов в директории с использованием os
  28. Метод __irshift__ для Python
  29. Оператор деления для класса Rational
  30. Объединение Python и Shell
  31. Основные функции и модули Python
  32. Многоточие в Python
  33. Модуль inspect: получение информации о объектах
  34. Реверс строки в Python
  35. Создание именованных кортежей в Python
  36. Преобразование регистра символов
  37. Операция += для списков
  38. Обработка ошибок в Python
  39. Функции map, filter, reduce
  40. Установка переменной среды в Python
  41. Lambda-функция в Python: использование с map() и sum()
  42. Метод join() для объединения элементов
  43. Курс Data Scientist в медицине
  44. Просмотр внешнего файла в Python
  45. Преобразование Excel в PDF с Spire.XLS
  46. Вывод сложных структур данных с помощью pprint
  47. Создание новых функций через partial
  48. Вложенные циклы в Python

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