То же значение, возвращаемое при использовании find и rfind для строки в Python 3.7.0 (с помощью простоя) - PullRequest
0 голосов
/ 21 октября 2018

Новичок в Python и переполнении стека - первый вопрос

Я озадачен, почему я получаю одинаковые значения для find и rfind (Python 3.7.0) для следующего:

>>> string="ooook"
>>> string.rfind('k')             
4
>>> string.find('k')             
4

Один из них должен быть 0, не так ли?

-Изменился ли rfind в более поздних версиях Python?

-Я должен импортировать что-то для использования find и rfind?

- Местная проблема с моим ПК?

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Если вы используете ipython ( Я могу горячо рекомендовать ), вы можете набрать ?? перед командой, чтобы увидеть ее строку документации.

Делать такдля string.rfind:

Строка документа:

S.rfind (sub [, start [, end]]) -> int

Возвращает самый высокий индекс в S, где подстрока sub найдена , так что sub содержится в S [start: end].Необязательные аргументы start и end интерпретируются как в обозначениях срезов.

Возвращает -1 при ошибке.

Тип: builtin_function_or_method

и для string.find:

Строка документа:

S.find (sub [, start [, end]]) -> int

Возвращает самый низкий индекс в S, где подстрока subнайдено , так что sub содержится в S [start: end].Необязательные аргументы start и end интерпретируются как обозначения срезов.

Возвращает -1 при ошибке.

Тип: builtin_function_or_method

Я взял на себя смелостьвыделите важные части.

Это означает, что оба будут возвращать один и тот же индекс, если найдена только одна подстрока (например, 'k' в вашем случае).

Если вы все еще не уверены в том, чем str.rfind и str.find отличаются друг от друга, попробуйте сделать то же самое с:

string = 'kooook'

Надеюсь, что это поможет и удачного кодирования!

0 голосов
/ 21 октября 2018

Насколько я знаю, rfind() делает то же самое, что и find(), но возвращает последний индекс.

Будучи только одним 'k', оба возвращаемых значения одинаковы.С 'o' результат будет другим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...