Python heapq模块

Posted pengwang52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python heapq模块相关的知识,希望对你有一定的参考价值。

注意,默认的heap是一个小顶堆!

 

heapq模块提供了如下几个函数:

 

heapq.heappush(heap, item) 把item添加到heap中(heap是一个列表)

heapq.heappop(heap) 把堆顶元素弹出,返回的就是堆顶

heapq.heappushpop(heap, item) 先把item加入到堆中,然后再pop,比heappush()再heappop()要快得多

heapq.heapreplace(heap, item) 先pop,然后再把item加入到堆中,比heappop()再heappush()要快得多

heapq.heapify(x) 将列表x进行堆调整,默认的是小顶堆

heapq.merge(*iterables) 将多个列表合并,并进行堆调整,返回的是合并后的列表的迭代器

heapq.nlargest(n, iterable, key=None) 返回最大的n个元素(Top-K问题)

heapq.nsmallest(n, iterable, key=None) 返回最小的n个元素(Top-K问题)


---------------------
作者:Calling_Wisdom
来源:CSDN
原文:https://blog.csdn.net/Calling_Wisdom/article/details/41676133
版权声明:本文为博主原创文章,转载请附上博文链接!






以上是关于Python heapq模块的主要内容,如果未能解决你的问题,请参考以下文章

python 的内置模块堆 heapq

Python标准库模块之heapq

Python 的 heapq 模块源码分析

每日python—— 1.4 python中的堆排序模块heapq

python collection 和 heapq 模块使用说明

python3-开发进阶 heapq模块(如何查找最大或最小的N个元素)