الدالة heapq.heappushpop()‎ في بايثون

من موسوعة حسوب
< Python‏ | heapq


تحذف الدالة وتعيد أصغر عنصر في الكومة مع الحفاظ على ثبات الكومة.

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

heapq.heappushpop(heap, item)

المعاملات

heap

اسم الكومة التي ستجرى عليها عمليتا الإضافة والحذف.

item

العنصر الذي سيُضاف إلى الكومة.

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

تضيف الدالة العنصر item إلى الكومة، ثم تحذف وتعيد أصغر عنصر في الكومة heap.

تؤدي هذه الدالة عملها منفردة بكفاءة أكبر من استدعاء الدالة heappush() ثم الدالة heappop()‎ على التوالي.

أمثلة

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

>>> import heapq
>>> li = [5, 7, 9, 1, 3]
>>> heapq.heapify(li)
>>> print(list(li))
[1, 3, 9, 7, 5]
>>> heapq.heappushpop(li, 4)
1
>>> print(list(li))
[3, 4, 9, 7, 5]

انظر أيضًا

  • الدالة heappush()‎: تدرج الدالة القيمة المعطاة في الكومة، مع الحفاظ على ثبات الكومة.
  • الدالة heappop()‎: تحذف الدالة وتعيد أصغر عنصر في الكومة، مع الحفاظ على ثبات الكومة.

مصادر

صفحة General calendar-related functions في توثيق بايثون الرسمي.