التابع bytes.index()‎ في بايثون

من موسوعة حسوب
< Python‏ | bytes
(بالتحويل من Python/bytearray/index)

يؤدي هذا التابع نفس وظيفة التابع bytes.find()‎ ولكنّه يطلق الخطأ ValueError إن لم يعثر على التسلسل الفرعي.

البنية العامة

bytes.index(sub[, start[, end]])

المعاملات

sub

التسلسل الفرعي المراد معرفة موقعه، ويمكن أن يكون أيّ كائن شبيه بالبايتات (bytes-like objects) أو عددًا صحيحًا من 0 إلى 255.

start

الموقع الذي يبدأ منه التابع عملية البحث ضمن البيانات الثنائية.

end

الموقع الذي ينهي فيه التابع عملية البحث ضمن البيانات الثنائية.

يسلك هذان المعاملان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing.

القيمة المعادة

يعيد التابع أدنى قيمة للفهرس في البيانات الثنائية حيث يكون التسلسل الفرعي sub موجودًا في الجزء المقتطع من التسلسل s[start:end]‎، ويطلق الخطأ ValueError إن لم تعثر على التسلسل الفرعي.

أمثلة

>>> mycar = b'I have a blue car'
>>> mycar.index(b'blue')
9
>>> mycar.index(b'red')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: subsection not found

انظر أيضًا

  • البايتات في بايثون.
  • التابع bytes.find()‎: إعادة أدنى قيمة للفهرس والذي يكون التسلسل الفرعي موجودًا في ضمن البيانات الثنائية.
  • التابع bytes.rfind()‎: إعادة أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي.
  • التابع bytes.rindex()‎: يشبه التابع bytes.rfind()‎ في أنّه يحدّد أعلى قيمة للفهرس تجد فيه التسلسل الفرعي ضمن التسلسل الأصلي، ويختلف عنه في أنّه يطلق الخطأ ValueError إن لم يعثر على التسلسل الفرعي.

مصادر