Курс 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. Вывод букв строки в Python
  3. Работа с URL-адресами в Python
  4. Лямбда-функции в Python
  5. Метод index() в Python
  6. Оператор match в Python
  7. Работа с enumerate()
  8. Функция enumerate в Python
  9. GitHub в Telegram: подписка на уведомления
  10. Метод pop() списка
  11. Игра «Виселица» на Python
  12. Комментарии в Python
  13. Удаление ключей из словаря
  14. Работа со строками
  15. Функция с **kwargs в Python
  16. Метод remove() для удаления элемента из списка
  17. Хранение данных
  18. Работа со строками в Python
  19. Создание новых функций с помощью functools.partial
  20. Кортежи в Python: особенности и преимущества
  21. Нахождение хеша для бесконечности и NaN в Python
  22. Структурирование именованных констант
  23. Python: отсутствие точек с запятыми
  24. Декораторы в Python
  25. Сравнение def и lambda функций в Python
  26. PrettyTable: создание таблицы
  27. Генерация QR-кодов с библиотекой qrcode
  28. Разделение строки с помощью re.split()
  29. Проверка индексов коллекции
  30. Генераторы в Python
  31. Оператор break в Python
  32. Метод join() для объединения элементов строки
  33. Блок else в обработке исключений
  34. Поиск самого частого элемента
  35. Разработка Telegram-ботов
  36. Цикл for в Python
  37. Поиск с помощью регулярных выражений
  38. Конкатенация строк в Python
  39. Измерение времени выполнения кода
  40. Тестирование времени с Freezegun
  41. Преобразование чисел в восьмеричную строку
  42. Взаимодействие с внешними процессами в Python
  43. Разделение строк в Python
  44. Получение имени функции с помощью inspect
  45. globals и locals
  46. Создание GUI на Tkinter
  47. Транспонирование 2D-массива с помощью zip
  48. Инверсия списка и строки в Python

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