Python中內建的四種佇列

2021-09-25 03:46:54 字數 2265 閱讀 8755

from queue import queue #lilo佇列

q = queue() #建立佇列物件

q.put(0) #在佇列尾部插入元素

q.put(1)

q.put(2)

print('lilo佇列',q.queue) #檢視佇列中的所有元素

print(q.get()) #返回並刪除佇列頭部元素

print(q.queue)

from queue import lifoqueue #lifo佇列

lifoqueue = lifoqueue()

lifoqueue.put(1)

lifoqueue.put(2)

lifoqueue.put(3)

print('lifo佇列',lifoqueue.queue)

lifoqueue.get() #返回並刪除佇列尾部元素

lifoqueue.get()

print(lifoqueue.queue)

from queue import priorityqueue #優先佇列

priorityqueue = priorityqueue() #建立優先佇列物件

priorityqueue.put(3) #插入元素

priorityqueue.put(78) #插入元素

priorityqueue.put(100) #插入元素

print(priorityqueue.queue) #檢視優先順序佇列中的所有元素

priorityqueue.put(1) #插入元素

priorityqueue.put(2) #插入元素

print('優先順序佇列:',priorityqueue.queue) #檢視優先順序佇列中的所有元素

priorityqueue.get() #返回並刪除優先順序最低的元素

print('刪除後剩餘元素',priorityqueue.queue)

priorityqueue.get() #返回並刪除優先順序最低的元素

print('刪除後剩餘元素',priorityqueue.queue) #刪除後剩餘元素

priorityqueue.get() #返回並刪除優先順序最低的元素

print('刪除後剩餘元素',priorityqueue.queue) #刪除後剩餘元素

priorityqueue.get() #返回並刪除優先順序最低的元素

print('刪除後剩餘元素',priorityqueue.queue) #刪除後剩餘元素

priorityqueue.get() #返回並刪除優先順序最低的元素

print('全部被刪除後:',priorityqueue.queue) #檢視優先順序佇列中的所有元素

from collections import deque #雙端佇列

dequequeue = deque(['eric','john','smith'])

print(dequequeue)

print(dequequeue)

dequequeue.rotate(2) #迴圈右移2次

print('迴圈右移2次後的佇列',dequequeue)

dequequeue.popleft() #返回並刪除佇列最左端元素

print('刪除最左端元素後的佇列:',dequequeue)

dequequeue.pop() #返回並刪除佇列最右端元素

print('刪除最右端元素後的佇列:',dequequeue)

# python佇列中常用的方法

queue.qsize() 返回佇列的大小

queue.empty() 如果隊列為空,返回true,反之false

queue.full() 如果佇列滿了,返回true,反之false

queue.full 與 maxsize 大小對應

queue.get([block[, timeout]])獲取佇列,timeout等待時間

queue.get_nowait() 相當queue.get(false)

非阻塞 queue.put(item) 寫入佇列,timeout等待時間

queue.put_nowait(item) 相當queue.put(item, false)

queue.task_done() 在完成一項工作之後,queue.task_done()函式向任務已經完成的佇列傳送乙個訊號

queue.join() 實際上意味著等到隊列為空,再執行別的操作

詳解Python中的四種佇列

佇列是一種只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。在python文件中搜尋佇列 queue 會發現,python標準庫中包含了四種佇列,分別是queue.queue asyncio.queue multiprocessing.queue collections.deque。coll...

js四種內建物件

js四種內建物件分別為math物件 date物件 string物件以及array物件 math物件方法主要有 math.random 隨機數 math.pi 圓周率 math.ceil math.floor 向上取整和向下取整 math.round 四捨五入取整 math.abs 取絕對值 math...

python中四種命名方式

1 object 公用方法 2 object 半保護 被看作是 protect 意思是只有類物件和子類物件自己能訪問到這些變數,在模組或類外不可以使用,不能用 from module import 匯入。object 是為了避免與子類的方法名稱衝突,對於該識別符號描述的方法,父 類的方法不能輕易地被...