Курс 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. ChainMap.new_child() — добавление нового словаря
  3. Группы исключений в Python
  4. Создание тестовых данных с Faker
  5. Оператор * в Python
  6. Удаление дубликатов с помощью множеств
  7. Оператор in и not in в Python
  8. Циклы в Python
  9. Сравнение объектов в Python
  10. Создание функций высшего порядка
  11. Разделение строк методом split()
  12. Работа с каталогами в Python
  13. Создание функций с произвольным количеством аргументов
  14. Нахождение самого длинного слова в списке с помощью max
  15. Игра «Угадывание чисел»
  16. Оператор «or» в Python
  17. Автоматизация с Python
  18. Ограничение итераций в Python
  19. Работа с асинхронными задачами в Python
  20. split() — разделение строки
  21. Создание словарей и множеств в Python
  22. Создание новых функций через partial
  23. Метод count() для списка
  24. Удаление элементов из списка в Python
  25. Проверка переменных окружения в Python
  26. *args и **kwargs в Python
  27. %pinfo: получение информации об объекте
  28. Работа с типами данных в Python с помощью pydantic.
  29. Сравнение def и lambda в Python
  30. Использование type hints
  31. Работа с модулем random
  32. Вычисление времени выполнения
  33. Метод index() в Python
  34. Цикл for в Python
  35. Работа с f-строками 2.0
  36. Вызов внешних программ в Python с помощью sh
  37. Использование функции product
  38. Преобразование чисел в слова
  39. Создание словаря и множества
  40. Избегайте использования goto
  41. Dict Comprehension в Python
  42. Библиотека Rich: форматирование текста
  43. ChainMap избыточные ключи
  44. Выход из профиля в Django
  45. Декоратор защиты анонимных пользователей

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