Методы строк rfind() и finde() в языке программирования Python
Как можно понять из названия, это два "родственных" метода, а тем, кто знаком с английским языком, легко догадаться, что методы что-то ищут.
Это и в самом деле так. Но несмотря на свою похожесть, эти два метода имеют одно существенное отличие.
Буква "r" в rfind() от английского right (право), и с помощью этого легко запомнить, чем отличаются эти два метода друг от друга.
Изображение PublicDomainPictures с сайта Pixabay
Оба метода ищут первое вхождение искомой подстроки в строку, но если find() начинает поиск слева, то rfind() справа.
Оба метода возвращают индекс первого вхождения подстроки в строку, но один из них ищет первое вхождение сначала строки, второй с конца.
Давайте посмотрим на примере, а заодно познакомимся с синтаксисом:
Изображение автора
Как видите, все работает!
Давайте посмотрим что вернут методы, если искомой подстроки обнаружено не будет:
Изображение автора
Все верно, если поиск заканчивается неудачей, то методы возвращают -1.
Важно знать еще и то, что методы могут искать подстроку лишь в указанном диапазоне строки, для этого в аргументах методов нужно указать начало и конец диапазона.
В нашем случае синтаксис будет выглядеть так:
Изображение автора
Начало поиска с индекса 3 "обрезало" первое вхождение "Как" в строку, поэтому результат работы обоих методов одинаков.
Стоит заметить, что указание конечного индекса диапазона поиска необязательно (как, собственно, и начала). Если в скобках будет стоять только одно число, метод по умолчанию воспримет это как начальную границу диапазона.
(Изображение PublicDomainPictures с сайта Pixabay)
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Нет комментариев