import heapq heap = [] heapq.heappush(heap, item)#将item加入heap,保持堆结构 heapq.heappop(heap)#弹出堆顶最小元素,如果heap为空,抛出一个IndexError,不弹出只调用这个最小元素,使用heap[0] heapq.heappushpop(heap, item)#将item加入heap,并弹出堆顶最小元素,比heappush()和heappop()结合使用更有效率 heapq.heapify(x)#将列表x转化成一个堆 heapq.heapreplace(heap, item)#先弹出堆顶最小元素,再将item加入heap,与heappushpop()的操作顺序相反,同样,比heappush()和heappop()结合使用更有效率 heapq.merge(*iterables, key=None, reverse=False)#将多个列表合并,并进行堆调整,返回的是合并后的列表的迭代器 heapq.nlargest(n, iterable, key=None)#返回最大的n个元素(Top-K问题) heapq.nsmallest(n, iterable, key=None)#返回最小的n个元素(Top-K问题)
本文详细介绍了Python标准库中的heapq模块,包括heapq的主要功能函数如heappush(), heappop(), heapify()等,以及如何利用heapq解决Top-K问题。heapq模块可以高效地实现最小堆操作,适用于多种数据处理场景。
911

被折叠的 条评论
为什么被折叠?



