Курс 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"
- Метод ior для битовых операций
- ChainMap избыточные ключи
- Наиболее частотные элементы с помощью Counter
- Установка Git и AWS CLI
- Метод join() для объединения строк
- Работа с PosixPath() в Python
- Декораторы в Python
- Работа с кортежами в Python
- Удаление ресурса в Python
- Метод pop() списка
- Установка и использование Python-dateutil
- Установка пакета в Python
- Использование обратной косой черты в f-строках
- Основы Python за 14 дней
- Нахождение максимального значения и его индекса в списке
- Скачать видео с YouTube
- Разбиение текста в Python
- Проверка типов с помощью isinstance
- Структура данных словарь в Python
- Обрезка изображения с Pillow
- split() — разделение строки
- Функция __init__ в Python
- Метод matmul для умножения матриц
- Список и кортеж в Python
- Подсказки типов в Python
- Оптимизация строк в Python
- Подсчет элементов в Python
- Beautiful Soup — извлечение данных из HTML
- Многострочные комментарии в Python
- Определение имен функций
- Обновление данных через PUT запрос
- Зарезервированные слова в Python
- Модуль itertools: комбинации и перестановки
- Функции map, filter, reduce
- Списковые включения в Python
- Создание циклической ссылки
- Генераторы данных
- Атрибуты класса и экземпляра
- Объединение списков в Python.
- Оператор Walrus в Python 3.8
- Деление в Python
- Избегайте изменяемых аргументов
- Класс-оболочка для словарей
- Реализация операции -= для пользовательского класса
- Введение в Python















