Курс 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"
- Применение функции map() с лямбда-функциями
- Функция enumerate() — Python
- Разделение строк в Python
- TypedDict для kwargs в Python 3.12
- Избегайте двойного подчеркивания
- Хеши в Python
- Удаление эмодзи с помощью pandas
- Проверка дубликатов в Python
- Concrete Paths — метод .with_suffix()
- Декоратор Ajax required
- Анализ текста на русском языке с помощью Pymystem3
- Метод setitem в Python
- Фильтрация списков с itertools
- Работа с словарями в Python
- Декоратор защиты анонимных пользователей
- Декораторы в Python
- Объединение словарей в Python
- Namedtuple в Python
- Метод __irshift__ для побитового сдвига вправо
- Инверсия списка/строки в Python
- Сортировка слиянием
- Поиск частого элемента
- Удаление элементов во время итерации
- Импорт модулей в Python 3.12
- Оператор «моржа» (Walrus Operator)
- Оператор объединения словарей
- Просмотр внешних файлов в %pycat
- Работа с байтовыми строками в Python
- Фильтрация последовательности
- Метод lt для сортировки объектов
- Функция с *args.
- Регулярные выражения: метод match
- Обезопасьте ввод данных
- Объединение строк с помощью метода join
- Работа с многоуровневыми словарями в Python
- Удаление ссылок в Python
- Циклы for в Python
- Метод rename() для переименования файлов и каталогов
- Работа с zip-архивами в Python
- Печать календаря в Python
- Python groupby() из itertools: работа с повторяющимися элементами
- История Python
- Combobox в Tkinter
- Подписка на SelectelNews в Twitter
- Дефолтные параметры в Python
- Повторение элементов в Python
- Преобразование числа в восьмеричную строку
- Lambda Functions in Python















