stacks_queues
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| stacks_queues [2020/01/12 05:18] – created jrseti | stacks_queues [2020/01/14 02:16] (current) – jrseti | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| + | ====heapqueue==== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | heapq.heappush(heap, | ||
| + | Push the value item onto the heap, maintaining the heap invariant. | ||
| + | | ||
| + | heapq.heappop(heap) | ||
| + | Pop and return the smallest item from the heap, maintaining the heap invariant. If the heap is empty, IndexError | ||
| + | is raised. To access the smallest item without popping it, use heap[0]. | ||
| + | | ||
| + | heapq.heappushpop(heap, | ||
| + | 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.heapify(x) | ||
| + | Transform list x into a heap, in-place, in linear time. | ||
| + | | ||
| + | heapq.heapreplace(heap, | ||
| + | Pop and return the smallest item from the heap, and also push the new item. The | ||
| + | heap size doesn’t change. If the heap is empty, IndexError is raised. | ||
| + | | ||
| + | This one step operation is more efficient than a heappop() followed by heappush() | ||
| + | and can be more appropriate when using a fixed-size heap. The pop/push combination | ||
| + | always returns an element from the heap and replaces it | ||
| + | with item. | ||
| + | | ||
| + | The value returned may be larger than the item added. If that isn’t desired, | ||
| + | consider using heappushpop() instead. Its push/pop combination returns the smaller | ||
| + | of the two values, leaving the larger value on the heap. | ||
| + | | ||
| + | The module also offers three general purpose functions based on heaps. | ||
| + | | ||
| + | heapq.merge(*iterables) | ||
| + | Merge multiple sorted inputs into a single sorted output (for example, merge | ||
| + | timestamped entries from multiple log files). Returns an iterator over the sorted values. | ||
| + | | ||
| + | Similar to sorted(itertools.chain(*iterables)) but returns an iterable, does not pull | ||
| + | the data into memory all at once, and assumes that each of the input streams is already | ||
| + | sorted (smallest to largest). | ||
| + | | ||
| + | heapq.nlargest(n, | ||
| + | Return a list with the n largest elements from the dataset defined by iterable. key, | ||
| + | if provided, specifies a function of one argument that is used to extract a comparison | ||
| + | key from each element in the iterable: key=str.lower Equivalent to: | ||
| + | sorted(iterable, | ||
| + | | ||
| + | heapq.nsmallest(n, | ||
| + | Return a list with the n smallest elements from the dataset defined by iterable. key, | ||
| + | if provided, specifies a function of one argument that is used to extract a comparison | ||
| + | key from each element in the iterable: key=str.lower | ||
| + | Equivalent to: sorted(iterable, | ||
stacks_queues.1578806288.txt.gz · Last modified: 2020/01/12 05:18 by jrseti