函数库如下:
下面我们来做一下演示:
首先我们导入heapq库:
from heapq import *
创建一个列表,使用heapify函数将列表改变成heap结构:
list1 = [1,65,23,5,17,3,54,899]
heapify(list1)
输出list1如下:
使用heappush向list1中插入一个元素:
heappush(list1,25)
输出list1如下:
使用heappop输出list1堆中的最小值,并将最小值命名为a:
a = heappop(list1)
输出a和更新后的list1如下:
heapreplace和heappushpop的用法差不多,就一起演示了
heapreplace(list1,15)
heappushpop(list1,89)
输出list1如下:
我们向list1中输入了15和89,同时将原来list1中的两个最小元素给剔除掉
使用nlargest和nsmallest函数取出堆中的前n个的最大(最小)元素的list
list2 = nlargest(4,list1)
list3 = nsmallest(4,list1)
输出值如下: