Курс 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. Создание словаря с значением по умолчанию
  3. Создание GUI с Tkinter: Entry
  4. Методы shutil для работы с файлами
  5. Нахождение отличий в списках
  6. Фильтрация последовательности
  7. Удаление пробелов методом translate()
  8. Defaultdict в Python
  9. Многострочные комментарии в Python
  10. Оператор zip в Python
  11. Ускорение выполнения кода в Python
  12. Участие в LP стейкинге Waves
  13. Форматирование строк в Python
  14. Defaultdict в Python
  15. Метод join() для объединения элементов в строку.
  16. Улучшение читаемости кода в Python
  17. Разделение строк в Python
  18. Глобальные переменные в Python
  19. Подчеркивание в REPL
  20. Метод clear для коллекций
  21. Многоточие в Python
  22. Функции map, filter и reduce
  23. Измерение времени выполнения кода
  24. Создание задания в Cron
  25. Лямбда-функции в Python
  26. Именованные аргументы в Python
  27. Строковое представление объектов
  28. Поиск самого длинного слова в списке с использованием max()
  29. Метод ipow для возведения в степень
  30. Виртуальное окружение Python
  31. Представление бесконечности в Python
  32. Обработка исключений
  33. Работа с deque в Python
  34. Объединение строк с помощью метода join
  35. Проверка однородности элементов списка
  36. Проверка версии Python
  37. Объединение строк с помощью метода join
  38. Сумма элементов списка
  39. Объединение итераторов
  40. Оптимизация методов в Python 3.7
  41. Создание Telegram-бота на Python
  42. Поиск частых элементов в списке
  43. Переменная с нижним подчеркиванием
  44. Подсчет элементов в Python
  45. Печать месячного календаря
  46. JSON-esque в Python
  47. Открытие и запись файлов

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