Курс 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
- ChainMap.new_child() — добавление нового словаря
- Группы исключений в Python
- Создание тестовых данных с Faker
- Оператор * в Python
- Удаление дубликатов с помощью множеств
- Оператор in и not in в Python
- Циклы в Python
- Сравнение объектов в Python
- Создание функций высшего порядка
- Разделение строк методом split()
- Работа с каталогами в Python
- Создание функций с произвольным количеством аргументов
- Нахождение самого длинного слова в списке с помощью max
- Игра «Угадывание чисел»
- Оператор «or» в Python
- Автоматизация с Python
- Ограничение итераций в Python
- Работа с асинхронными задачами в Python
- split() — разделение строки
- Создание словарей и множеств в Python
- Создание новых функций через partial
- Метод count() для списка
- Удаление элементов из списка в Python
- Проверка переменных окружения в Python
- *args и **kwargs в Python
- %pinfo: получение информации об объекте
- Работа с типами данных в Python с помощью pydantic.
- Сравнение def и lambda в Python
- Использование type hints
- Работа с модулем random
- Вычисление времени выполнения
- Метод index() в Python
- Цикл for в Python
- Работа с f-строками 2.0
- Вызов внешних программ в Python с помощью sh
- Использование функции product
- Преобразование чисел в слова
- Создание словаря и множества
- Избегайте использования goto
- Dict Comprehension в Python
- Библиотека Rich: форматирование текста
- ChainMap избыточные ключи
- Выход из профиля в Django
- Декоратор защиты анонимных пользователей















