Python隊列Queue實現(xiàn)詳解
隊列是一種列表,不同的是隊列只能在隊尾插入元素,在隊首刪除元素。
隊列用于存儲按順序排列的數(shù)據,先進先出 隊列是一種先進先出(First-In-First-Out,F(xiàn)IFO)的數(shù)據結構。
隊列被用在很多地方,比如提交操作系統(tǒng)執(zhí)行的一系列進程、打印任務池等
實現(xiàn)方式
一:自定義隊列類
class Queue:
def __init__(self):
self.items = []
def push(self, value): # 進隊列
self.items.append(value)
def pop(self): # 出隊列
return self.items.pop(0)
if __name__ == '__main__':
q = Queue()
q.push(1)
q.push(2)
q.push(3)
print(q.pop())
print(q.pop())
print(q.pop())二:使用python內置隊列庫
from queue import Queue # LILO隊列
q = Queue() # 創(chuàng)建隊列對象
q.put(1) # 在隊列尾部插入元素
q.put(2)
q.put(3)
print('隊列內元素', q.queue) # 查看隊列中的所有元素
print(q.get()) # 返回并刪除隊列頭部元素
print('隊列內元素', q.queue) # 查看隊列中的所有元素
"""輸出
隊列內元素 deque([1, 2, 3])
1
隊列內元素 deque([2, 3])
"""優(yōu)先隊列
from queue import PriorityQueue # 存儲數(shù)據時可設置優(yōu)先級的隊列 # 優(yōu)先級設置數(shù)越小等級越高 q = PriorityQueue(maxsize=0) # 寫入隊列,設置優(yōu)先級 q.put((9, 'a')) q.put((7, 'c')) q.put((1, 'd')) # 輸出隊例全部數(shù)據 print(q.queue) # 取隊例數(shù)據,可以看到,是按優(yōu)先級取的。 q.get() print(q.queue) """輸出 [(1, 'd'), (9, 'a'), (7, 'c')] [(7, 'c'), (9, 'a')] """
到此這篇關于Python隊列Queue實現(xiàn)詳解的文章就介紹到這了,更多相關Python隊列Queue內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
ubuntu16.04升級Python3.5到Python3.7的方法步驟
這篇文章主要介紹了ubuntu16.04升級Python3.5到Python3.7的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
Python+Appium實現(xiàn)自動化測試的使用步驟
這篇文章主要介紹了Python+Appium實現(xiàn)自動化測試的使用步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
Flask框架運用Ajax實現(xiàn)數(shù)據交互的示例代碼
使用Ajax技術網頁應用能夠快速地將增量更新呈現(xiàn)在用戶界面上,而不需要重載刷新整個頁面,這使得程序能夠更快地回應用戶的操作,本文將簡單介紹使用AJAX如何實現(xiàn)前后端數(shù)據通信2022-11-11
PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片
這篇文章主要介紹了PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python?selenium?webdriver?基本使用代碼分享
這篇文章主要介紹了Python?selenium?webdriver?基本使用,本文僅僅簡單介紹了selenium的使用常用代碼分享,需要的朋友可以參考下2022-11-11

