Python自帶佇列模組Queue的使用(3)
阿新 • • 發佈:2019-01-31
PriorityQueue:優先佇列
匯入模組
from queue import PriorityQueue
檢視原始碼可以知道PriorityQueue是繼承Queue的,基本的東西就不再贅述了,不清楚可以檢視佇列的使用1和2
優先佇列的使用
from queue import PriorityQueue
pq = PriorityQueue()
pq.put(20)
pq.put(10)
pq.put(30)
print(pq.get())
print(pq.get())
print(pq.get())
結果: 10
20
30
可以看出,優先佇列的出佇列是按照從小到大的,那麼可能有人會問有沒有從大到小的佇列?
檢視原始碼發現了這句話
Variant of Queue that retrieves open entries in priority order (lowest first).
Entries are typically tuples of the form: (priority number, data).
優先順序是根據元組的(優先順序號,資料),這樣就好辦了
from queue import PriorityQueue pq = PriorityQueue() pq.put((-3,3)) pq.put((-2,2)) pq.put((-1,1)) print(pq.get()[1]) print(pq.get()[1]) print(pq.get()[1]) 結果:3 2 1
可以通過元組的方式,設定資料的優先順序