Курс 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. Применение функции map() с лямбда-функциями
  2. Функция enumerate() — Python
  3. Разделение строк в Python
  4. TypedDict для kwargs в Python 3.12
  5. Избегайте двойного подчеркивания
  6. Хеши в Python
  7. Удаление эмодзи с помощью pandas
  8. Проверка дубликатов в Python
  9. Concrete Paths — метод .with_suffix()
  10. Декоратор Ajax required
  11. Анализ текста на русском языке с помощью Pymystem3
  12. Метод setitem в Python
  13. Фильтрация списков с itertools
  14. Работа с словарями в Python
  15. Декоратор защиты анонимных пользователей
  16. Декораторы в Python
  17. Объединение словарей в Python
  18. Namedtuple в Python
  19. Метод __irshift__ для побитового сдвига вправо
  20. Инверсия списка/строки в Python
  21. Сортировка слиянием
  22. Поиск частого элемента
  23. Удаление элементов во время итерации
  24. Импорт модулей в Python 3.12
  25. Оператор «моржа» (Walrus Operator)
  26. Оператор объединения словарей
  27. Просмотр внешних файлов в %pycat
  28. Работа с байтовыми строками в Python
  29. Фильтрация последовательности
  30. Метод lt для сортировки объектов
  31. Функция с *args.
  32. Регулярные выражения: метод match
  33. Обезопасьте ввод данных
  34. Объединение строк с помощью метода join
  35. Работа с многоуровневыми словарями в Python
  36. Удаление ссылок в Python
  37. Циклы for в Python
  38. Метод rename() для переименования файлов и каталогов
  39. Работа с zip-архивами в Python
  40. Печать календаря в Python
  41. Python groupby() из itertools: работа с повторяющимися элементами
  42. История Python
  43. Combobox в Tkinter
  44. Подписка на SelectelNews в Twitter
  45. Дефолтные параметры в Python
  46. Повторение элементов в Python
  47. Преобразование числа в восьмеричную строку
  48. Lambda Functions in Python

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