التابع bytes.rindex()
في بايثون
يشبه التابع bytes.rfind()
في أنّه يحدّد أعلى قيمة للفهرس تجد فيه التسلسل الفرعي ضمن التسلسل الأصلي، ويختلف عنه في أنّه يطلق الخطأ ValueError
إن لم يعثر على التسلسل الفرعي.
البنية العامة
str.rindex(sub[, start[, end]])
المعاملات
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
انظر أيضًا
- البايتات في بايثون.
- التابع
bytes.find()
: إعادة أدنى قيمة للفهرس والذي يكون التسلسل الفرعي موجودًا في ضمن البيانات الثنائية. - التابع
bytes.index()
: يؤدي هذا التابع نفس وظيفة التابعbytes.find()
ولكنّه يطلق الخطأValueError
إن لم يعثر على التسلسل الفرعي. - التابع
bytes.rfind()
: إعادة أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي.