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 时,效率是有差别的。双端队列会很快。因为双端队列底层用的是链表。

      

      

  • 相关阅读:
    Cookie和Session
    HTTP简介
    Python赋值与深浅拷贝
    Python装饰器探险
    Python操作MongoDB数据库
    MongoDB数据库基础
    python操作mysql数据库
    USACO2012 overplanting /// 矩阵切割 递归 oj21547
    USACO2007 The Bale Tower /// DFS oj21160
    USACO2012 Moo /// 模拟 oj21548
  • 原文地址:https://www.cnblogs.com/wf123/p/9460778.html
Copyright © 2011-2022 走看看