الدالة bisect.bisect_right()
في بايثون
تعيد موقع الإدراج الذي يأتي بعد (إلى الجانب الأيمن) العناصر المماثلة للعنصر المضاف في المصفوفة المعطاة.
البنية العامة
bisect.bisect_right(a, x, lo=0, hi=len(a))
المعاملات
يمكن استخدام المعاملين lo
و hi
لتحديد جزء من القائمة، ولكن السلوك الافتراضي لهذه الدالة هو التعامل مع القائمة بأكملها. إن كان العنصر x
موجودًا من قبل في القائمة a
، فإنّ موقع الإدراج سيكون بعد (إلى يمين) العناصر الموجودة أصلًا. يمكن استخدام القيمة المعادة كأول معامل في التابع list.insert()
على افتراض أنّ القائمة a
مفروزة أصلًا.
القيمة المعادة
يقسم موقع الإدراج المعاد i المصفوفة a إلى نصفين، بحيث يكون التعبير all(val <= x forval in a[lo:i]) للجانب الأيسر والتعبير all(val > x for val in a[i:hi]).
هذه الدالة مشابهة للدالة bisect_left()، ولكنّها تعيد موقع الإدراج الذي يأتي بعد (إلى الجانب الأيمن) العناصر المماثلة للعنصر المضاف x في المصفوفة a.
أمثلة
يبين المثال التالي آلية عمل التابع:
>>> data = [('red', 5), ('blue', 1), ('yellow', 8), ('black', 0)]
>>> data.sort(key=lambda r: r[1])
>>> keys = [r[1] for r in data] # قائمة من المفاتيح المعدّة مسبقًا
>>> data[bisect_left(keys, 0)]
('black', 0)
>>> data[bisect_left(keys, 1)]
('blue', 1)
>>> data[bisect_left(keys, 5)]
('red', 5)
>>> data[bisect_left(keys, 8)]
('yellow', 8)
انظر أيضًا
- الدالة
bisect_left
(): تحدّد الدالة موقع إدراج العنصر المحدد في المصفوفة المعطاة. - الدالة
bisect
(): تعيد موقع الإدراج الذي يأتي بعد (إلى الجانب الأيمن) العناصر المماثلة للعنصر المضاف في المصفوفة المعطاة.