import heapq
data = [1,5,3,2,8,5]
heap = []
for n in data:
heapq.heappush(heap, n)
如果数据已经存在于内存中...import heapq
data = [1,5,3,2,8,5]
heapq.heapify(data)
上述两种方法得到的堆是一样的。...import heapq
data = [1,5,3,2,8,5]
heapq.heapify(data)
print heapq.heappop(data) # print 1
如果希望在一个操作中删除现有最小元素并替换成新值...import heapq
data = [1,5,3,2,8,5]
heapq.heapify(data)
heapq.heapreplace(data,10)
堆的数据极值
heapq还包括两个检查可迭代对象的函数...import heapq
data = [1,5,3,2,8,5]
print heapq.nlargest(3, data)
print heapq.nsmallest(3, data)
输出结果如下