الدالة bisect.insort_left()‎ في بايثون

من موسوعة حسوب
< Python‏ | bisect
اذهب إلى التنقل اذهب إلى البحث


تدرج الدالة العنصر المحدّد في المصفوفة المعطاة بترتيب مفروز.

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

bisect.insort_left(a, x, lo=0, hi=len(a))

المعاملات

يمكن استخدام المعاملين lo و hi لتحديد جزء من القائمة، ولكن السلوك الافتراضي لهذه الدالة هو التعامل مع القائمة بأكملها.

هذه الدالة مكافئة للتعبير a.insert(bisect.bisect_left(a, x, lo, hi), x)‎ على فرض أنّ المصفوفة a مفروزة أصلًا. يجب الانتباه إلى أنّ عملية البحث ذات السرعة O(log n)‎ تكون محكومة بعملية الإدراج البطيئة ذات السرعة O(n)‎.

أمثلة

يبين المثال التالي آلية عمل التابع:

>>> import bisect
>>> l = [1, 3, 4, 4, 4, 6, 7]
>>> bisect.insort_left(l, 5)
>>> l
[1, 3, 4, 4, 4, 5, 6, 7]

انظر أيضًا

  • الدالة insort_right()‎: تدرج العنصر المحدّد في المصفوفة المعطاة بعد العناصر المماثلة للعنصر المعطى والموجودة أصلًا في المصفوفة.
  • الدالة insort()‎: تدرج العنصر المحدّد في المصفوفة المعطاة بعد العناصر المماثلة للعنصر المعطى والموجودة أصلًا في المصفوفة.

مصادر

صفحة Array bisection algorithm في توثيق بايثون الرسمي.