Python_heapq

Posted

tags:

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

 1 import heapq    #导入heapq堆模块
 2 import random
 3 data = random.sample(range(1000),10)
 4 print(data)
 5 heapq.heapify(data) #堆化随机测试数据
 6 print(堆化随机测试数据:,data)
 7 heapq.heappush(data,30) #新元素入堆,自动调整堆
 8 print(插入30后的堆数据:,data)
 9 heapq.heappush(data,5)
10 print(插入5后的堆数据:,data)
11 print(删除的数据为:,heapq.heappop(data),返回并删除最小元素,自动调整堆后的堆数据:,data)
12 print(弹出最小元素,同时新元素入堆后的数据:,heapq.heappushpop(data,1000))
13 print(弹出最小元素,同时新元素入堆后的数据,heapq.heapreplace(data,500))
14 print(弹出最小元素,同时新元素入堆后的数据,heapq.heapreplace(data,700))
15 print(返回最大的前3个元素,heapq.nlargest(3,data) ) #返回最大的前3个元素
16 print(返回指定排序规则下最小的3个元素,heapq.nsmallest(3,data,key=str)) #返回指定排序规则下最小的3个元素
17 print(data)
18 
19 ‘‘‘
20 输出结果
21 [80, 366, 834, 269, 829, 295, 583, 952, 548, 668]
22 堆化随机测试数据: [80, 269, 295, 366, 668, 834, 583, 952, 548, 829]
23 插入30后的堆数据: [30, 80, 295, 366, 269, 834, 583, 952, 548, 829, 668]
24 插入5后的堆数据: [5, 80, 30, 366, 269, 295, 583, 952, 548, 829, 668, 834]
25 删除的数据为: 5 返回并删除最小元素,自动调整堆后的堆数据: [30, 80, 295, 366, 269, 834, 583, 952, 548, 829, 668]
26 弹出最小元素,同时新元素入堆后的数据: 30
27 弹出最小元素,同时新元素入堆后的数据 80
28 弹出最小元素,同时新元素入堆后的数据 269
29 返回最大的前3个元素 [1000, 952, 834]
30 返回指定排序规则下最小的3个元素 [1000, 295, 366]
31 [295, 366, 583, 500, 668, 834, 700, 952, 548, 829, 1000]
32 ‘‘‘

 

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

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数