Курс 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"
- Декораторы классов
- Разница между датами
- Добавление кнопки в tkinter
- Создание итератора
- Модуль sys: основы
- Распаковка аргументов в Python
- Группы исключений в Python
- Вывод символов строки в Python
- Генераторы в Python
- Блок try…finally в Python
- Модуль future Python
- UserList в Python: Описание и примеры использования
- Непрерывная проверка в Python
- Объединение списков в Python
- Ошибка NotImplemented в Python
- Счетчик ссылок в Python
- Метод lt для сортировки объектов
- Создание и обучение модели с Keras
- ChainMap.new_child() — добавление нового словаря
- Модуль inspect
- Поиск шаблона в строке
- Определение локальных переменных в Python
- Оператор морж в Python 3.8
- Оператор in для Python
- Работа с рекламными данными в Pandas
- Python groupby() из itertools: работа с повторяющимися элементами
- Передача аргументов через **arguments
- Удаление элементов из списка
- Работа с парами ключ-значение
- Копирование объектов в Python
- 9 уловок для чистого кода
- Функция findall() для поиска вхождений строки
- Измерение потребления памяти при сортировке
- Оператор распаковки в Python
- Создание итерируемых объектов
- Многострочные строки в Python
- Цикл for в Python
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Преобразование PowerPoint в PDF.
- Python Аргументы по умолчанию
- Работа с множествами в Python
- Сложные типы данных в Python
- Defaultdict в Python
- Вакансии в Nebius
- Получение пути к текущему скрипту с помощью os















