zoukankan      html  css  js  c++  java
  • Python中模块之queue的功能介绍

                                       模块之queue的功能介绍

    队列的分类:

    队列主要要分为两种

    1.双向队列
    2.单项队列
    

    1. 单项队列

    1. 创建单项队列

      格式:queue.Queue(obj)
      例如:que = queue.Queue('abc')
      返回值:queue.Queue
      #创建单项队列时的参数可以是任意对象,无论传入的参数是什么,该队列始终是空的。
      
    2. empty(判断队列是否是空的)

      格式:queue.Queue(obj).empty()
      例如:que = queue.Queue('abc')
           print(que.empty())
       >>> True
      返回值:bool
      #通过直接创建的单项队列,永远都是空的。
      
    3. full(判断队列是否满了)

      格式:queue.Queue(obj).full()
      例如:que = queue.Queue('abc')
           print(que.full())
       >>> False
      返回值:bool
      #判断队列是否满了,与maxsize相对应。
      
    4. get(获取队列中的一个项)

      格式:queue.Queue(obj).get(block=True,timeout=None)
      例如:que = queue.Queue()
           que.put('abc')
           print(que.get())
       >>> 'abc'
      返回值:obj
      #取出队列中的一个项,由于单项队列只能先进先出,当队列中的项不止一个时,则直接获取第一个被放入队列中的项。
      
    5. get_nowait(获取队列的一个项)

      格式:queue.Queue(obj).get_nowait()
      #方法同上
      
    6. join

    7. put(上传一个项)

      格式:queue.Queue(obj).put(item,block=True,timeout=None)
      例如:que = queue.Queue()
           print(que.put('abc'))
       >>> None
      返回值:None
      #向队列里面放一个项,一次只能放一个项。
      
    8. put_nowait(上传一个项)

      格式:queue.Queue(obj).put_nowait()
      #方法同上
      
    9. qsize(队列长度)

      格式:queue.Queue(obj).qsize()
      例如:que = queue.Queue()
           print(que.qsize())
       >>> 0
      返回值:int
      #返回队列的长度
      
    10. task_done

    2. 双向队列

    创建方法:

    格式:queue.deque(iterable[,maxlen])
    返回值:collections.deque
    

    注:queue模块中的queue.deque与collections模块中的collections.deque的功能是一样的,因此这里不作详细介绍。

  • 相关阅读:
    golang 数据结构 优先队列(堆)
    leetcode刷题笔记5210题 球会落何处
    leetcode刷题笔记5638题 吃苹果的最大数目
    leetcode刷题笔记5637题 判断字符串的两半是否相似
    剑指 Offer 28. 对称的二叉树
    剑指 Offer 27. 二叉树的镜像
    剑指 Offer 26. 树的子结构
    剑指 Offer 25. 合并两个排序的链表
    剑指 Offer 24. 反转链表
    剑指 Offer 22. 链表中倒数第k个节点
  • 原文地址:https://www.cnblogs.com/single-boy/p/7471640.html
Copyright © 2011-2022 走看看