Курс 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"
- Работа с аргументами командной строки
- Разделение строки в Python
- Логические значения в Python
- Избегание циклических зависимостей классов в Python
- Сериализация и десериализация объектов
- Списковые включения в Python
- Преобразование букв в нижний регистр
- Метод setdefault() в Python
- Разбиение текста в Python
- Порядок и длина множеств в Python
- Оператор in для Python
- Работа с географическими данными в Python
- Асинхронное выполнение задач в процессах
- Роль ключевого слова self
- Удаление ключей из словаря
- Работа с JSON в Python
- Измерение времени выполнения кода
- Использование функции enumerate()
- Операторы += в Python
- Работа с изменяемыми коллекциями
- Оператор «or» в Python
- Библиотека itertools: объединение списков
- Генерация случайных чисел в Python
- Создание словарей и множеств в Python.
- Combobox в Tkinter
- Pillow: работа с изображениями
- Обработка ошибок в Python
- Атрибуты объекта в Python
- Генераторы словарей и множеств
- Создание словаря и множества
- Обработка ошибок в JSON данных
- Функции в одну строку
- Работа с классами данных
- Создание словаря через dict comprehension
- Вставка переменных в шаблоны Flask
- Подсказки типов в Python
- Нахождение отличий в списках
- Копирование в Python
- Оператор «not» в Python
- F-строки в Python
- Создание namedtuple списком полей
- Карта бомбоубежищ в Москве и Питере
- Работа с буфером обмена на Python
- Профилирование кода на Python















