Python3中queue模組的使用

2021-08-29 09:47:39 字數 1798 閱讀 4562

from queue import queue

from queue import priorityqueue

print("queue類實現了乙個基本的先進先出(fifo)容器,使用put()將元素新增到序列尾端,get()從佇列尾部移除元素。\n")

q = queue()

for i in range(3):

q.put(i)

while not q.empty():

print(q.get())

print("與標準fifo實現queue不同的是,lifoqueue使用後進先出序(會關聯乙個棧資料結構)。\n")

from queue import lifoqueue

q1 = lifoqueue()

for i in range(3):

q1.put(i)

while not q1.empty():

print(q1.get())

print("除了按元素入列順序外,有時需要根據佇列中元素的特性來決定元素的處理順序。例如,老闆的列印任務可能比研發的列印任務優先順序更高。priorityqueue依據佇列中內容的排序順序(sort order)來決定那個元素將被檢索。")

class job(object):

def __init__(self, priority, description):

self.priority = priority

self.description = description

print('new job:', description)

return

def __lt__(self, other):

return self.priority < other.priority

q2 = priorityqueue()

q2.put(job(5, 'mid-level job'))

q2.put(job(10, 'low-level job'))

q2.put(job(1, 'important job')) #數字越小,優先順序越高

while not q2.empty():

next_job = q2.get() #可根據優先順序取序列

print('processing job', next_job.description)

print(help(queue))

queue類實現了乙個基本的先進先出(fifo)容器,使用put()將元素新增到序列尾端,get()從佇列尾部移除元素。01

2與標準fifo實現queue不同的是,lifoqueue使用後進先出序(會關聯乙個棧資料結構)。21

0除了按元素入列順序外,有時需要根據佇列中元素的特性來決定元素的處理順序。例如,老闆的列印任務可能比研發的列印任務優先順序更高。priorityqueue依據佇列中內容的排序順序(sort order)來決定那個元素將被檢索。

new job: mid-level job

new job: low-level job

new job: important job

processing job important job

processing job mid-level job

processing job low-level job

none

[finished in 0.1s]

認識你是我們的緣分,同學,等等,記得關注我。

python3學習 Queue模組

python標準庫中帶有乙個queue模組,顧名思義,佇列。該模組也衍生出一些基本佇列不具有的功能。我們先看一下佇列的方法 put存資料 get取資料 empty 判斷佇列是否為空 qsize 顯示佇列中真實存在的元素長度 maxsize 最大支援佇列長度 join 等到隊列為空,該行語句下面的語句...

Python3並行程式設計之queue模組

匯入模組import queue匯入模組中無第三方模組 注 queue是python的標準庫。該庫在python2中名為queue,在python3中名為queue。三種型別的佇列 queue模組實現了三種型別的佇列,它們的區別僅僅是資料取回的順序。在 fifo 佇列中,先新增的資料先取回。在 li...

Python 中的queue模組

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!作為標準庫中的queue模組,在實際的開發中也是很常見的。其實資料結構這種東西,在任何的程式語言中都是相通的,無非表達方式有些不同罷了。那麼,今天就來看看如何在python中使用佇列。import queueq queue queue maxsiz...