队列分为双向队列和单向队列:

对于双向队列,同样需要先import collections

创建队列

>>> import collections
>>> d = collections.deque()
>>> type(d)
<class 'collections.deque'>

向队列中添加元素

>>> d.appendleft("1")      #从左边添加
>>> print(d)
deque(['1'])
>>> d.append('2') #从右边添加
>>> print(d)
deque(['1', '2'])

双向队列中的方法

>>> d.append('2')
>>> print(d)
deque(['1', '2'])
>>> d.append('2')
>>> print(d)
deque(['1', '2', '2']) #计数
>>> d.count('2') >>> d.extend(['33','44']) #扩展
>>> print(d)
deque(['1', '2', '2', '33', '44']) >>> d.extendleft(['11','22']) #从左边扩展
>>> print(d)
deque(['22', '11', '1', '2', '2', '33', '44']) #注意顺序,队列是先进先出的 >>> d.pop() #从右边取数据
'44'
>>> d.pop()
'33'
>>> >>> d.popleft() #从左边取数据
'22'
>>> d.popleft()
'11'
>>> >>> print(d)
deque(['1', '2', '2'])
>>> d.remove("2") #从队列中删除数据
>>> print(d)
deque(['1', '2']) >>> d.append(["33","44"]) #向队列中添加列表
>>> print(d)
deque(['1', '2', ['33', '44']])
>>> d.rotate(1) #把最后一个放到前面
>>> print(d)
deque([['33', '44'], '1', '2']) >>> d.rotate(2) #把最后两个放到前面
>>> print(d)
deque(['1', '2', ['33', '44']]) >>> d.reverse() #反转
>>> print(d)
deque([['33', '44'], '2', '1'])

单向队列:

单向队列需要import queue

>>> import queue
>>> q = queue.Queue() #创建单向队列
>>> type(q)
<class 'queue.Queue'>

单向队列的方法

>>> q.put("a")                #往队列中放元素
>>> q.put(["b","c"])
>>> print(q)
<queue.Queue object at 0x000000000309DE80> >>> q.qsize() #队列中元素的个数
2 >>> q.get() #往外拿元素,先进先出,当元素被拿完时,队列会处于等待状态,直到有元素被put
'a'
>>> q.get()
['b', 'c']
>>> q.get() >>> q = queue.Queue()
>>> q.empty() #队列是否为空
True >>> q = queue.Queue(maxsize = 3) #定义队列的最大长度
>>> q.put(1)
>>> q.put(2)
>>> q.put(3)
>>> q.put(4) #当put的元素超出最大长度时队列会处于等待状态,直到空出数据单元

python(3)-队列的更多相关文章

  1. python消息队列snakemq使用总结

    Python 消息队列snakemq总结 最近学习消息总线zeromq,在网上搜了python实现的消息总线模块,意外发现有个消息队列snakemq,于是拿来研究一下,感觉还是很不错的,入手简单使用也 ...

  2. python RabbitMQ队列使用(入门篇)

    ---恢复内容开始--- python RabbitMQ队列使用 关于python的queue介绍 关于python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种que ...

  3. Python之队列Queue

    今天我们来了解一下python的队列(Queue) queue is especiall useful in threaded programming when information must be ...

  4. Python消息队列工具 Python-rq 中文教程

    原创文章,作者:Damon付,如若转载,请注明出处:<Python消息队列工具 Python-rq 中文教程>http://www.tiangr.com/python-xiao-xi-du ...

  5. Python 用队列实现多线程并发

    # Python queue队列,实现并发,在网站多线程推荐最后也一个例子,比这货简单,但是不够规范 # encoding: utf-8 __author__ = 'yeayee.com' # 由本站 ...

  6. python RabbitMQ队列使用

    python RabbitMQ队列使用 关于python的queue介绍 关于python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种queue都是只能在同一个进程下 ...

  7. Python之队列

    Python之队列 队列:先进先出 队列与线程有关. 在多线程编程时,会起到作用. 作用:确保信息安全的进行交换. 有get 和 put 方法. ''' 创建一个“队列”对象 import Queue ...

  8. Python 单向队列Queue模块详解

    Python 单向队列Queue模块详解 单向队列Queue,先进先出 '''A multi-producer, multi-consumer queue.''' try: import thread ...

  9. Python 双向队列Deque、单向队列Queue 模块使用详解

    Python 双向队列Deque 模块使用详解 创建双向队列Deque序列 双向队列Deque提供了类似list的操作方法: #!/usr/bin/python3 import collections ...

  10. python 线程队列PriorityQueue(优先队列)(37)

    在 线程队列Queue / 线程队列LifoQueue 文章中分别介绍了先进先出队列Queue和先进后出队列LifoQueue,而今天给大家介绍的是最后一种:优先队列PriorityQueue,对队列 ...

随机推荐

  1. [JLOI2013]地形生成

    JLOI2013过了好长时间,才写第四题.. 第一问比较好想. 第二问我想到了n^3次方的做法,但是数据....于是没敢写,然后上网查了一下题解,居然是O(n^3)过的,数据这么弱... /* * P ...

  2. [cocos2d-x]File文件的IO读写处理

    转载:http://blog.csdn.net/chiuan/article/details/8618411 为了保存自定义数据文件,需要保存文件和读取文件,也就是File的IO处理: 针对cocos ...

  3. HTML5每日一练之details展开收缩标签的应用

    details标签的出现,为我们带来了更好的用户体验,不必为这种收缩展开的效果再编写JS来实现.注:目前仅Chrome支持此标签. details有一个新增加的子标签——summary,当鼠标点击su ...

  4. log4j2使用总结

    一.Log4j有三个主要的组件:Loggers,Appenders和Layouts,这里可简单理解为日志级别,日志要输出的地方和日志格式 1. Logger Logger的日志级别有6级,分别是TRA ...

  5. POJ 1860 Currency Exchange (bellman-ford判负环)

    Currency Exchange 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/E Description Several c ...

  6. POJ 3268 Silver Cow Party (最短路dijkstra)

    Silver Cow Party 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/D Description One cow fr ...

  7. Chrome的Postman的使用

    Chrome提供了一个很好的Web App 名为 Postman 使用这个web app,你可以输入一个url,然后可以很清楚的看到返回的各种结果 直接在Google中输入Postman, 找到它   ...

  8. 关于ssh和ajax小小总结

    我是相当的不专业,写给自己看.有什么错误的话,说出来将感激不尽. 有两种方法异步传输 1.通过json字符串:  jsp中这么写: $.getJSON( "details_ajaxActio ...

  9. Java:浅谈InputStream的close方法

    原则:最好在任何时候使用InputStream或者OutputStream的时候,在finally中调用close()方法,显式关闭. 一个典型的示例 InputStream in = null; t ...

  10. 【多校练习4签到题】HDU 4642—— Fliping game

    来源:点击打开链接 看上去很难,比赛的时候光看hehe了,也没有想. 但是仔细想想,是可以想出来的.一个棋盘上每个格子摆放一个硬币,硬币有正面1和反面0之分.现在两个人可以按照规则翻硬币,选择(x,y ...