الدالة bytes.rindex()‎ في بايثون

من موسوعة حسوب

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

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

b.rindex()

المعاملات

sub

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

start

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

end

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

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

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

تعيد الدالة أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي، بحيث يكون التسلسل الفرعي ضمن النطاق s[start:end]‎‎.

تطلق الدالة الخطأ ValueError إن لم تعثر على التسلسل الفرعي.

أمثلة

يبين المثال التالي النتائج المعادة من استخدام الدالة:

>>> byte = b'Python, Python, Python'
>>> byte.rindex(b'Py')
16
>>> byte.rindex(b'Py', 0, 10)
8
>>> byte.rindex(b'C++')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    byte.rindex(b'C++')
ValueError: subsection not found
>>> byte.rindex(44)
14
>>> byte.rindex(12)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    byte.rindex(12)
ValueError: subsection not found

انظر أيضًا

مصادر