1. 程式人生 > 實用技巧 >queue佇列

queue佇列

三種佇列形式:

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.queue
16 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.queue
12 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

顯示結果: