نبحث في سجلات مرتبة بحسب حقلها العددي. [1] [2]
الخلاصة السريعة
المثال
from bisect import bisect_left as left
rows=[('dock',3),('kite',8)]
print(left(rows,6,key=lambda r:r[1]))
try:left(rows,('flag',6),key=lambda r:r[1])
except TypeError:print('TypeError')أي طرف يتحول؟
المقارنة هنا بين الحقل العددي لسجل موجود وقيمة البحث كما مررناها. لذلك نمرر 6؛ أما الصف الكامل فلا يتحول تلقائيًا إلى حقله الثاني. ظهر الخطأ من مقارنة عدد بصف في هذا المثال. [1] [2]

الموضع وحد الفحص
رقم 1 يعني بين سجلينا عند الترقيم من صفر، ولا يثبت وجود 6. عندما نبحث عن 9 يصير الموضع 2، بعد السجلين. القائمة ثابتة أثناء البحث. [1] [2]
المراجع
- Python 3.12: bisect_left key
- CPython 3.12.14: _bisectmodule.c
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
