Курс 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
- Работа с URL-адресами в Python
- Лямбда-функции в Python
- Метод index() в Python
- Оператор match в Python
- Работа с enumerate()
- Функция enumerate в Python
- GitHub в Telegram: подписка на уведомления
- Метод pop() списка
- Игра «Виселица» на Python
- Комментарии в Python
- Удаление ключей из словаря
- Работа со строками
- Функция с **kwargs в Python
- Метод remove() для удаления элемента из списка
- Хранение данных
- Работа со строками в Python
- Создание новых функций с помощью functools.partial
- Кортежи в Python: особенности и преимущества
- Нахождение хеша для бесконечности и NaN в Python
- Структурирование именованных констант
- Python: отсутствие точек с запятыми
- Декораторы в Python
- Сравнение def и lambda функций в Python
- PrettyTable: создание таблицы
- Генерация QR-кодов с библиотекой qrcode
- Разделение строки с помощью re.split()
- Проверка индексов коллекции
- Генераторы в Python
- Оператор break в Python
- Метод join() для объединения элементов строки
- Блок else в обработке исключений
- Поиск самого частого элемента
- Разработка Telegram-ботов
- Цикл for в Python
- Поиск с помощью регулярных выражений
- Конкатенация строк в Python
- Измерение времени выполнения кода
- Тестирование времени с Freezegun
- Преобразование чисел в восьмеричную строку
- Взаимодействие с внешними процессами в Python
- Разделение строк в Python
- Получение имени функции с помощью inspect
- globals и locals
- Создание GUI на Tkinter
- Транспонирование 2D-массива с помощью zip
- Инверсия списка и строки в Python















