zoukankan      html  css  js  c++  java
  • collection 模块 双端队列

    单端队列

      用于同一进程中的队列,可以叫做单进程队列。

      queue

      遵循先进先出,先进去的必须先出来

      1、先进先出:

      impore queue

      q = queue.Queue()    实例化一个对象

      q.put(1)         put()  放值

      q.put('abc')

      q.put([1,2,3])

      q.get()          get()  取值   谁先进去,就先取谁。

      2、后进先出:

      import queue

      q = queue.LifoQueue()    

      q.put(1)

      q.put(2)

      print(q.get())

      print(q.get())

      3、优先级队列

      import queue

      q = queue.PriorityQueue()

      q.put((1,'aa'))    优先级队列放的是一个元组,且第一位如果是数字,数字越小优先级越高,优先往出取。(包括负数)

      q.put((2,'bb'))

      q.put(('a','ss'))    优先级队列中的元组如果第一位是字符串,那么就比较它的ASCII码的数值,ASCII码越小越好。

      q.put('1','xx'))

      注意:如果一个队列中既放了数字开头的优先级元祖,又放了字符串开头的优先级元组,将无法比较。

    双端队列

      deque

      clooection 实际上是一个包,deque是他里边的一个模块。所以导入的时候是

      from collection import deque

      

      双端队列  和 列表的 remove / insert 时,效率是有差别的。双端队列会很快。因为双端队列底层用的是链表。

      

      

  • 相关阅读:
    植物大战僵尸课设个人报告
    MXNET框架基础2CVhotdog
    MXNET框架基础3GPU计算
    MXNET框架基础7BN
    MXNET框架基础0预备知识
    开课吧名企计算机视觉第一课
    MXNET框架基础5符号式编程
    MXNET框架基础1模型构建基本原理
    faceid算法原理简述
    MXNET框架基础6图像增广
  • 原文地址:https://www.cnblogs.com/wf123/p/9460778.html
Copyright © 2011-2022 走看看