Python 线程优先队列 PriorityQueue - Python零基础入门教程
目錄
- 一.Python 線程隊列 Queue 分類
- 二.Python 線程優先隊列 PriorityQueue 簡介
- 三.Python 線程優先隊列 PriorityQueue 函數介紹
- 四.Python 線程優先隊列 PriorityQueue 使用
- 五.猜你喜歡
零基礎 Python 學習路線推薦 :?Python 學習目錄?>>?Python 基礎入門
在 ?線程隊列 Queue?/?線程隊列 LifoQueue? 文章中分別介紹了先進先出隊列 Queue 和先進后出隊列 LifoQueue ,而今天給大家介紹的是最后一種:優先隊列 PriorityQueue ,對隊列中的數據按照優先級排序,那么具體怎么用呢?
一.Python 線程隊列 Queue 分類
- 1.線程隊列 Queue?— FIFO(先進先出隊列),即哪個數據先存入,取數據的時候先取哪個數據,同生活中的排隊買東西;
- 2.線程隊列 LifoQueue?— LIFO(先進后出隊列),即哪個數據最后存入的,取數據的時候先取,同生活中手槍的彈夾,子彈最后放入的先打出;
- 3.線程隊列 PriorityQueue?— PriorityQueue(優先級隊列),即存入數據時候加入一個優先級,取數據的時候優先級最高的取出;
二.Python 線程優先隊列 PriorityQueue 簡介
在數據存入的時候設置優先級,取數據的時候默認按照優先級最高的取出,注意:使用優先級存數據取數據,隊列中的數據必須是同一類型,舉個栗子:班級成績排名/身高排名……
值得注意的是:在將數據存入到優先隊列 PriorityQueue 時,設置的值越小,優先級越高;
三.Python 線程優先隊列 PriorityQueue 函數介紹
函數不做過多介紹了,已經在 ?線程隊列 Queue? 有了詳細講解,兩者都屬于 Queue ,函數都一樣!
四.Python 線程優先隊列 PriorityQueue 使用
按優先級:不管是數字、字母、列表 list 、元組 tuple 等(字典 dict 、集合 set 沒測),使用優先級存數據取數據,隊列中的數據必須是同一類型,都是按照實際數據的 ascii 碼表的順序進行優先級匹配,漢字是按照 unicode 表。
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 線程優先隊列 PriorityQueue.py @Time:2021/05/05 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""import queue import threading import timeq = queue.PriorityQueue() q.put([1, 'ace']) q.put([40, 333]) q.put([3, 'afd']) q.put([5, '4asdg']) # 1是級別最高的, while not q.empty(): # 不為空時候執行print(q.get())q = queue.PriorityQueue() q.put('我') q.put('你') q.put('他') q.put('她') q.put('ta') while not q.empty():print(q.get())''' 輸出結果:[1, 'ace'] [3, 'afd'] [5, '4asdg'] [40, 333] ta 他 你 她 我 '''**? ?? 由此可見:在將數據存入到優先隊列 PriorityQueue 時,設置的值越小,優先級越高!**
五.猜你喜歡
未經允許不得轉載:猿說編程 ? Python 線程優先隊列 PriorityQueue
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Python 线程优先队列 PriorityQueue - Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pycharm 提示:this lice
- 下一篇: Python str 函数 - Pyth