python 如何取佇列前兩點 python 佇列

2021-10-19 20:27:21 字數 1822 閱讀 9153

一、佇列和列表的區別

1.佇列是先進先出,列表可以讀取某個指定資料

2.佇列如果將儲存的資料都讀完就結束,列表可以反覆讀取

例如:#列表指定讀取某個 資料

a_list = [1,2,3,4]

print(a_list[2])

import queue

#先進先出

a_queue = queue.queue()

for i in range(1,5):

a_queue.put(i)

while a_queue.qsize()>0:

print(a_queue.get())

二、具體介紹一下queue

在使用queue的時候要先引入queue模組,建立物件~

其中queue可以建立出三種物件分別是

1.先進先出行queue(maxsize = ?)

import queue

a_queue =queue.queue()

a_queue.put("1")

a_queue.put("2")

print(a_queue.get(),a_queue.get())

>>>1 2

通過上面的例子我們能發現,put 方法是往佇列放資料,但是佇列跟列表不同取完之後資料就沒有了,如果取的資料大於列表存放的資料就會卡住這時候有兩種解決辦法,第一種呼叫get_nowait()方法,這時候就會報異常queue.empty,第二種就是從get自身解決,get(block = false),預設的時候block是true。

2.後進先出lifequeue()是個縮寫是last in first out

import queue

a_queue =queue.lifoqueue()

for i in range(2):

a_queue.put(i)

while 0

print(a_queue.get())

3.priorityqueue可以理解成vip,看你的心情讓那先出就先出

import queue

a_queue =queue.priorityqueue()

a_queue.put((3,"d"))

a_queue.put((1,"a"))

a_queue.put((2,"c"))

while a_queue.qsize()>0:

print(a_queue.get())

(1, 'a')

(2, 'c')

(3, 'd')

三、利用queue和多執行緒寫乙個生產者消費者

import queue

import threading,time

q= queue.queue(maxsize=10)

def producer():

for i in range(10):

q.put("生產第%s骨頭"%i)

time.sleep(0.1)

def consumer(name):

while true:

try:

print(name,"吃掉了【%s】"%q.get(timeout=0.4))

except:

break

t = threading.thread(target=producer)

c = threading.thread(target=consumer,args=("小黃",))

c1 = threading.thread(target=consumer,args=("小hei",))

t.start()

c.start()

c1.start()

python兩點間的距離 巧用兩點間距離公式求最值

在平面直角座標系中,任意兩點a x1,y1 b x2,y2 的距離是ab x1 x2 y1 y2 也可以寫成ab x1 x2 y1 y2 原理很簡單,以ab為斜邊,構造直角三角形,使其兩直角邊分別與座標軸平行,利用勾股定理可得。在學習過程中,不僅僅知道點座標求距離,同時更需要將某個平方和看作兩點間的...

如何計算兩點之間距離

如何計算兩點之間距離 路線規劃提供了獲取路線距離的方法,見mkrouteplan 類的 getdistance 方法。如果是計算任意兩點的距離,有兩種方法 一種利用勾股定理計算,適用於兩點距離很近的情況 一種按標準的球面大圓劣弧長度計算,適用於距離較遠的情況。static double def pi...

如何打造天呈集團品牌關鍵兩點

中國著名品牌實戰專家沈菏生先生認為 打造成功的企業品牌,必須要擺脫對產品品牌的過度依賴,樹立品牌就是企業的意識,將品牌要素與企業特徵相結合,使企業價值觀 文化 使命 歷史傳承 創新 研發 品質保證綜合能力等成為品牌內涵一部分,企業特徵是獨特是唯一的,通常也是競爭對手無法複製的,因此由企業特徵驅動的品...