Курс 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"
- Уникальность ключей в словаре
- JSON-esque в Python
- Dict Comprehension в Python
- Форматирование объектов с модулем pprint
- Переворот строки с использованием цикла
- Подсчет элементов в списке с Counter
- Конкатенация строк с помощью join()
- Уникальные значения из списка
- Класс UserDict: дополнительная функциональность
- Выключение компьютера с помощью Python
- Управление сессиями в Python
- Срезы в Python
- Генераторные выражения и islice.
- Замена символов в строке
- Перегрузка операторов в Python
- Работа со словарями с defaultdict из collections
- Progress с библиотекой tqdm
- Цикл for в Python
- Генераторные функции в Python
- Передача параметров в Python
- Оператор in и not in в Python
- TON Smart Challenge #2: участие и подготовка
- Список методов и атрибутов
- Работа с процессами в Python
- Создание таблиц в терминале с PrettyTable
- kwargs в Python
- Расчет времени выполнения
- Работа с zip-архивами в Python
- Метод join() для объединения строк
- Регистрация на курсы SF Education
- Исправление ошибки NameError
- Лямбда-функции для min/max
- Декоратор Property в Python
- Синтаксис переменных цикла в Python
- Метод __irshift__ для побитового сдвига вправо
- Оператор «not» в Python
- Работа со строками в Python
- Создание словарей с defaultdict
- Избегайте ошибку FileNotFoundError
- Работа с географическими данными в Python
- Создание словарей с defaultdict()
- Поиск самого частого элемента
- Оператор is в Python
- Искажение имен в Python
- Передача словаря через **kwargs















