Python库详解之heapq库

 时间:2025-01-12 08:40:29

1、1:如何创建堆:方法有以下2种:1.1:初始化变量heap = [].(根据堆队列本身属于列表的一类)1.2:调用heap的初始化函数heapq.heapify().

Python库详解之heapq库

2、2:函数heapq.heappush(heap, item)功能:把一个对象压入堆heap.注意:图中用例所示,item的类型为一个元素,一个列表都可以入堆.

Python库详解之heapq库

3、3:函数heapq.heappop(heap)功能:从堆heap里面弹出最小的元素.如果heap是空的,会抛出异常.注意:如果相访问heap的最小元素而不从heap弹出,则用heap[0],参见堆特性.

Python库详解之heapq库

4、4:heapq.heappushpop(heap, item)功能:把一个元素压到堆,然后从heap弹出一个最小的元素.注意:该组合操作的效果要优于调用函数heappush()和heappop().

Python库详解之heapq库

5、5:函数heapq.heapreplace(heap, item)功能:从堆heap弹出最小的元素,然后往堆heap压入新的元素.注意:该操作不会影响堆的长度,对固定堆的情况很有用.此外效果优于调用函数heappush()和heappop().

Python库详解之heapq库

6、6:函数heapq.merge(*iterables)功能:把多个堆队列合并,并返回一个迭代器.和函数sorted(itertools.chain(*iterables))类似,但返回值不同.

Python库详解之heapq库

7、7函数:heapq.nlargest(n, iterable[, key])功能:返回迭代数据集合iterable中第n大的元素.注意:该函数比通常计算多个list第N大的元素方法(如多个list的合并,排序等)效果更方便快捷.

Python库详解之heapq库

8、8:函数heapq.nsmallest(n, iterable[, key])功能:返回迭代数据集合iterable中第n小的元素.注意:该函数比通常计算多个list第N小的元素方法(如多个list的合并,排序等)效果更方便快捷.

Python库详解之heapq库
  • 魔兽世界8.0100到110升级攻略
  • Cadence IC5141超详细安装教程(一)
  • 天下3单人摸摆技巧
  • 怎样安装Magento?
  • 如何配置触发zabbix-agent端shell脚本任务
  • 热门搜索
    健康知识手抄报图片 手抄报板块设计图 安全教育手抄报资料 向国旗敬礼手抄报内容 防火手抄报图片 三年级春节手抄报大全 可爱的中国手抄报 国庆节手抄报资料 元旦节手抄报图片 手抄报边框素材