queue佇列
阿新 • • 發佈:2020-07-19
三種佇列形式:
Queue 先進先出
LifoQueue 後進先出
PriorityQueue 按級別,級別越低越優先
Queue:
1 from queue import Queue,LifoQueue,PriorityQueue 2 3 q = Queue(maxsize=0) #maxsize設定上限,小於或等於0則不限制 4 5 #寫入佇列資料 6 q.put(0) 7 q.put(1) 8 q.put(2) 9 10 #輸出當前佇列所有資料 11 print q.queue 12 13 #取出資料輸出當前佇列 14 q.get() 15 print q.queue16 17 #再次寫入資料並輸出當前佇列所有資料 18 q.put(3) 19 print q.queue 20 21 #再次取出資料輸出當前佇列 22 q.get() 23 print q.queue
顯示結果:
LifoQueue:
1 from queue import Queue,LifoQueue,PriorityQueue 2 3 q = LifoQueue(maxsize=0) #替換成LifoQueue 4 5 #寫入佇列資料 6 q.put(0) 7 q.put(1) 8 q.put(2) 9 10 #輸出當前佇列所有資料 11 print q.queue12 13 #取出資料輸出當前佇列 14 q.get() 15 print q.queue 16 17 #再次寫入資料並輸出當前佇列所有資料 18 q.put(3) 19 print q.queue 20 21 #再次取出資料輸出當前佇列 22 q.get() 23 print q.queue
顯示結果:
PriorityQueue:
1 from queue import Queue,LifoQueue,PriorityQueue 2 3 q = PriorityQueue(maxsize=0) #替換成PriorityQueue 4 5 #寫入佇列資料 6 q.put(4)7 print q.queue 8 q.put(2) 9 print q.queue 10 q.put(6) 11 12 #輸出當前佇列所有資料 13 print q.queue 14 15 #取出資料輸出當前佇列 16 q.get() 17 print q.queue 18 q.get() 19 print q.queue
顯示結果: