python利用什么模块_什么是Python的heapq模块?
我嘗試了“heapq”并得出結論,我的期望與我在屏幕上看到的不同.我需要有人解釋它是如何工作的以及它在哪里有用.
If you need to maintain a sorted list as you add and remove values,
check out heapq. By using the functions in heapq to add or remove
items from a list, you can maintain the sort order of the list with
low overhead.
這就是我所做的和得到的.
import heapq
heap = []
for i in range(10):
heap.append(i)
heap
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
heapq.heapify(heap)
heapq.heappush(heap, 10)
heap
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
heapq.heappop(heap)
0
heap
[1, 3, 2, 7, 4, 5, 6, 10, 8, 9] <<< Why the list does not remain sorted?
heapq.heappushpop(heap, 11)
1
heap
[2, 3, 5, 7, 4, 11, 6, 10, 8, 9] <<< Why is 11 put between 4 and 6?
因此,正如您所看到的那樣,“堆”列表根本沒有排序,實際上,添加和刪除項目的次數越多,它就越混亂.推動價值取無法解釋的位置.
到底是怎么回事?
總結
以上是生活随笔為你收集整理的python利用什么模块_什么是Python的heapq模块?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑重装系统怎么装显卡(电脑重装系统怎么
- 下一篇: 怎么样才能让网速更快(提高网速有什么方法