Курс 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. JSON-esque в Python
  3. Dict Comprehension в Python
  4. Форматирование объектов с модулем pprint
  5. Переворот строки с использованием цикла
  6. Подсчет элементов в списке с Counter
  7. Конкатенация строк с помощью join()
  8. Уникальные значения из списка
  9. Класс UserDict: дополнительная функциональность
  10. Выключение компьютера с помощью Python
  11. Управление сессиями в Python
  12. Срезы в Python
  13. Генераторные выражения и islice.
  14. Замена символов в строке
  15. Перегрузка операторов в Python
  16. Работа со словарями с defaultdict из collections
  17. Progress с библиотекой tqdm
  18. Цикл for в Python
  19. Генераторные функции в Python
  20. Передача параметров в Python
  21. Оператор in и not in в Python
  22. TON Smart Challenge #2: участие и подготовка
  23. Список методов и атрибутов
  24. Работа с процессами в Python
  25. Создание таблиц в терминале с PrettyTable
  26. kwargs в Python
  27. Расчет времени выполнения
  28. Работа с zip-архивами в Python
  29. Метод join() для объединения строк
  30. Регистрация на курсы SF Education
  31. Исправление ошибки NameError
  32. Лямбда-функции для min/max
  33. Декоратор Property в Python
  34. Синтаксис переменных цикла в Python
  35. Метод __irshift__ для побитового сдвига вправо
  36. Оператор «not» в Python
  37. Работа со строками в Python
  38. Создание словарей с defaultdict
  39. Избегайте ошибку FileNotFoundError
  40. Работа с географическими данными в Python
  41. Создание словарей с defaultdict()
  42. Поиск самого частого элемента
  43. Оператор is в Python
  44. Искажение имен в Python
  45. Передача словаря через **kwargs

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