Курс 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.
- Генераторы в Python
- Избегайте ошибку FileNotFoundError
- Замена переменных в Python
- Создание класса очереди
- Измерение времени выполнения
- Конкатенация строк с методом join()
- Обработка ошибок в Python
- Объединение словарей в Python 3.5+
- Работа со списками
- Асинхронное выполнение задач в Python
- Bootle — простой веб-фреймворк
- Поиск частого элемента
- Улучшение читаемости кода в Python
- Принципы SRP и OCP
- Оператор «not» в Python
- Подробная информация о %pinfo
- Поиск самого длинного слова в списке с использованием max()
- Область видимости переменных
- Просмотр внешних файлов в %pycat
- Слияние словарей в Python 3.9
- Перегрузка операторов в Python
- Функция enumerate в Python
- Генерация ключей RSA
- Работа с изменяемыми коллекциями
- Атрибуты объекта в Python
- Создание матрицы в Python
- Декораторы с аргументами в Python
- Создание пользовательской коллекции в Python
- Удаление файлов с shutil.os.remove()
- Функция reduce() из модуля functools
- Создание новых списков через list comprehensions
- Измерение времени выполнения кода
- Основы работы со списками
- Работа с прокси в Python
- Расчет времени выполнения
- Метод difference_update() — разность множеств
- Поиск email
- Основы работы со строками в Python
- Функция zip() в Python
- Работа с необработанными строками
- Метод join() с набором
- Проверка индексов коллекции
- Особенности множеств в Python
- Профилирование кода
- Перегрузка операторов в Python
- Реализация операции -= для пользовательского класса















