Python Glossary English

все Python 3Байтовые последовательностифункция

bytes.rindex

bytes — поиск

Как rfind, но бросает ValueError, если не найдено.

Синтаксис

b.rindex(...)

Берите rindex, когда отсутствие подстроки означает поломку данных: rfind в этом случае вернёт -1, а -1 молча сработает как валидный отрицательный индекс в срезе и даст правдоподобный, но неверный результат. Возвращается позиция от начала последовательности — справа налево идёт только сам поиск. Искать можно bytes-подобный объект или целое 0-255; str на входе даст TypeError.

Примеры

print(b'banana'.rindex(b'na'))   # → 4
print(b'banana'.rindex(b'a'))   # → 5
path = b'/usr/local/bin'
print(path[path.rindex(b'/') + 1:])   # → b'bin'
print(b'banana'.rindex(b'z'))   # → ValueError
print(b'banana'.rfind(b'z'))   # → -1

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности