1. 程式人生 > >Python自帶佇列模組Queue的使用(3)

Python自帶佇列模組Queue的使用(3)

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

可以通過元組的方式,設定資料的優先順序