Курс Python → Поиск всех индексов подстроки
Метод index() в Python используется для поиска первого вхождения подстроки в строку и возвращает индекс этого вхождения. Однако, если мы хотим получить доступ ко всем индексам, по которым находится подстрока, мы можем написать пользовательскую функцию, которая будет искать все вхождения подстроки и возвращать список индексов.
Пример пользовательской функции для поиска всех индексов подстроки в строке:
def find_all_indexes(input_str, substring):
indexes = []
index = -1
while True:
index = input_str.find(substring, index + 1)
if index == -1:
break
indexes.append(index)
return indexes
input_str = "hello world hello"
substring = "hello"
indexes = find_all_indexes(input_str, substring)
print(indexes)
В данном примере мы создали функцию find_all_indexes(), которая принимает строку и подстроку, и возвращает список всех индексов, по которым находится подстрока. Затем мы вызываем эту функцию с примером строки «hello world hello» и подстрокой «hello» и выводим список индексов, по которым находится данная подстрока.
Таким образом, используя пользовательскую функцию, мы можем получить доступ ко всем индексам, по которым находится подстрока в строке, в отличие от метода index(), который возвращает только первое вхождение подстроки.
Другие уроки курса "Python"
- Создание пользовательской коллекции в Python
- Метод get для словарей
- Использование type hints
- Модуль array: создание и использование массивов
- Объединение строк с помощью метода join
- Модуль subprocess: запуск внешних команд
- Основы работы со строками в Python
- Python Enumerate
- Работа с многоуровневыми словарями в Python
- Цикл for в Python
- Метод get() в Python
- Основы работы со списками
- Округление банкира в Python
- Переменная Шредингера
- Работа с комбинациями в Python.
- Изменение элемента списка
- Многострочные строки в Python
- Обработка исключений в Python
- Обмен переменными в Jupyter
- Установка и использование Virtualenv
- Операции с матрицами в Python
- Оператор del в Python
- Нахождение разницы между списками в Python
- Операции с массивами в NumPy
- Операторы присваивания в Python
- Оптимизация сравнения в Python
- Округление чисел с помощью round
- Нахождение отличий в списках
- Отладка кода
- Namedtuple в Python
- Добавление элемента в список.
- Проверка запуска скрипта или импорта модуля
- Декораторы в Python
- Создание и инициализация объектов
- ROT13 Шифр Цезаря в Python
- Основы работы с os
- Декораторы в Python
- Форматирование данных с помощью pprint
- Работа с PosixPath() в Python
- Обработка ошибки IndexError
- Python enumerate() для работы с индексами
- Конкатенация строк с методом join()
- Расчет времени выполнения
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Обязательные аргументы в Python
- Работа с GitHub в Telegram
- Форматирование данных с pprint















