heapq API Reference

Full documentation for heapq (Standard Library / Native)

heapq.heapify
Python Library Documentation: built-in function heapify in module _heapq

heapify(heap, /)
    Transform list into a heap, in-place, in O(len(heap)) time.
heapq.heappop
Python Library Documentation: built-in function heappop in module _heapq

heappop(heap, /)
    Pop the smallest item off the heap, maintaining the heap invariant.
heapq.heappush
Python Library Documentation: built-in function heappush in module _heapq

heappush(heap, item, /)
    Push item onto heap, maintaining the heap invariant.
heapq.heappushpop
Python Library Documentation: built-in function heappushpop in module _heapq

heappushpop(heap, item, /)
    Push item on the heap, then pop and return the smallest item from the heap.

    The combined action runs more efficiently than heappush() followed by
    a separate call to heappop().
heapq.heapreplace
Python Library Documentation: built-in function heapreplace in module _heapq

heapreplace(heap, item, /)
    Pop and return the current smallest value, and add the new item.

    This is more efficient than heappop() followed by heappush(), and can be
    more appropriate when using a fixed-size heap.  Note that the value
    returned may be larger than item!  That constrains reasonable uses of
    this routine unless written as part of a conditional replacement:

        if item > heap[0]:
            item = heapreplace(heap, item)
heapq.merge
Python Library Documentation: function merge in module heapq

merge(*iterables, key=None, reverse=False)
    Merge multiple sorted inputs into a single sorted output.

    Similar to sorted(itertools.chain(*iterables)) but returns a generator,
    does not pull the data into memory all at once, and assumes that each of
    the input streams is already sorted (smallest to largest).

    >>> list(merge([1,3,5,7], [0,2,4,8], [5,10,15,20], [], [25]))
    [0, 1, 2, 3, 4, 5, 5, 7, 8, 10, 15, 20, 25]

    If *key* is not None, applies a key function to each element to determine
    its sort order.

    >>> list(merge(['dog', 'horse'], ['cat', 'fish', 'kangaroo'], key=len))
    ['dog', 'cat', 'fish', 'horse', 'kangaroo']
heapq.nlargest
Python Library Documentation: function nlargest in module heapq

nlargest(n, iterable, key=None)
    Find the n largest elements in a dataset.

    Equivalent to:  sorted(iterable, key=key, reverse=True)[:n]
heapq.nsmallest
Python Library Documentation: function nsmallest in module heapq

nsmallest(n, iterable, key=None)
    Find the n smallest elements in a dataset.

    Equivalent to:  sorted(iterable, key=key)[:n]