Курс 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. Извлечение новостей с newspaper3k
  3. Регулярные выражения в Python
  4. Работа с NumPy.linalg
  5. Логирование с Logzero: ротация файла
  6. Python: Фильтрация списков с помощью filter()
  7. Генератор списка с условием if
  8. Функция с **kwargs в Python
  9. Проверка типов с помощью isinstance
  10. Метод is_absolute() для PurePath
  11. Логирование с Logzero
  12. Метод __float__ в Python
  13. Аргументы *args и **kwargs
  14. Оптимизация параметров в Python
  15. Функция reduce() из модуля functools
  16. Работа с набором данных CIFAR10 в PyTorch
  17. Логирование с Logzero
  18. Сериализация объектов в Python
  19. Получение имени функции с помощью inspect
  20. Colorama: окрашивание текста в Python
  21. Рациональные числа в Python
  22. Инверсия списка/строки в Python
  23. Объединение объектов в Python
  24. Ошибка NotImplemented в Python
  25. Хранение данных с помощью dataclasses
  26. Обновление шаблона base.html
  27. f-строки в формате строк
  28. Функция zip() в Python
  29. Объявление переменных в Python
  30. Вывод с переменной через запятую
  31. Функция findall() для поиска вхождений строки
  32. Оператор in для Python
  33. Расчет времени выполнения программы
  34. Оператор match в Python
  35. Декораторы для регистрации функций
  36. Применение функции к каждому элементу списка
  37. Оформление кода по PEP 8
  38. Обмен значений переменных в Python
  39. Обработка исключений в Python
  40. Моржовый оператор в Python 3.8
  41. PEP-401: оператор
  42. Цикл for с enumerate() в Python
  43. Генераторы в Python
  44. Замена элементов в списке с помощью генераторов списков
  45. Конструктор в Python
  46. Удаление файлов в Python

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