все Python 3Байтовые последовательностифункция
bytearray.index
bytearray — поиск
Как find, но бросает ValueError, если не найдено.
Синтаксис
ba.index(...)
Бери index там, где отсутствие подпоследовательности — это ошибка в данных: ValueError упадёт сразу, а -1 от find легко утечёт дальше и испортит срез. Искать можно и целым числом 0-255 — тогда ищется один байт; это удобно, потому что ba[i] и сам возвращает int, а не bytes.
Примеры
print(bytearray(b'banana').index(b'na')) # → 2
print(bytearray(b'banana').index(ord('n'))) # → 2
print(bytearray(b'banana').index(b'na', 3)) # → 4
print(bytearray(b'banana').find(b'x')) # → -1
print(bytearray(b'banana').index(b'x')) # → ValueError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности