Курс 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. Преобразование документов в PDF с помощью Spire.Office
  3. Оператор Walrus: правильное использование
  4. Удаление ключа из словаря
  5. Удаление файлов с shutil.os.remove()
  6. Фильтрация последовательности
  7. Работа с геоданными с помощью geopy
  8. Проверка дубликатов в Python
  9. Блок try…finally в Python
  10. Функции с необязательными аргументами
  11. Оператор break в Python
  12. Отношения подклассов в Python
  13. Удаление элементов во время итерации
  14. EMOT преобразование эмодзи в текст
  15. Подсказки типов в Python
  16. Декораторы в Python
  17. Хранение переменных в Python.
  18. Распаковка значений в Python
  19. Разность множеств
  20. Метод __ixor__ для побитового исключающего ИЛИ
  21. Конкатенация строк в Python
  22. Избегание изменяемых аргументов
  23. Работа с deque из collections
  24. Избегайте изменяемых аргументов
  25. Операторы увеличения и уменьшения в Python
  26. Инициализация объекта
  27. Функции map() и reduce() в Python
  28. Создание словаря и множества
  29. Установка и использование библиотеки google
  30. Перехват исключений в Python
  31. Инвертирование словаря
  32. Генераторы в Python
  33. Управление контекстом выполнения
  34. Разделение строки с регулярными выражениями
  35. Подсчет элементов в Python
  36. Сортировка с помощью параметра key
  37. Преобразование числа в список цифр
  38. Дефолтные параметры в Python
  39. Очистка данных в Python
  40. Аннотации типов в Python
  41. Декораторы в Python
  42. Преобразование регистра строк
  43. Скрытие вывода данных
  44. Извлечение чисел из текста

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