python(3)-队列
队列分为双向队列和单向队列:
对于双向队列,同样需要先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)-队列的更多相关文章
- python消息队列snakemq使用总结
Python 消息队列snakemq总结 最近学习消息总线zeromq,在网上搜了python实现的消息总线模块,意外发现有个消息队列snakemq,于是拿来研究一下,感觉还是很不错的,入手简单使用也 ...
- python RabbitMQ队列使用(入门篇)
---恢复内容开始--- python RabbitMQ队列使用 关于python的queue介绍 关于python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种que ...
- Python之队列Queue
今天我们来了解一下python的队列(Queue) queue is especiall useful in threaded programming when information must be ...
- Python消息队列工具 Python-rq 中文教程
原创文章,作者:Damon付,如若转载,请注明出处:<Python消息队列工具 Python-rq 中文教程>http://www.tiangr.com/python-xiao-xi-du ...
- Python 用队列实现多线程并发
# Python queue队列,实现并发,在网站多线程推荐最后也一个例子,比这货简单,但是不够规范 # encoding: utf-8 __author__ = 'yeayee.com' # 由本站 ...
- python RabbitMQ队列使用
python RabbitMQ队列使用 关于python的queue介绍 关于python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种queue都是只能在同一个进程下 ...
- Python之队列
Python之队列 队列:先进先出 队列与线程有关. 在多线程编程时,会起到作用. 作用:确保信息安全的进行交换. 有get 和 put 方法. ''' 创建一个“队列”对象 import Queue ...
- Python 单向队列Queue模块详解
Python 单向队列Queue模块详解 单向队列Queue,先进先出 '''A multi-producer, multi-consumer queue.''' try: import thread ...
- Python 双向队列Deque、单向队列Queue 模块使用详解
Python 双向队列Deque 模块使用详解 创建双向队列Deque序列 双向队列Deque提供了类似list的操作方法: #!/usr/bin/python3 import collections ...
- python 线程队列PriorityQueue(优先队列)(37)
在 线程队列Queue / 线程队列LifoQueue 文章中分别介绍了先进先出队列Queue和先进后出队列LifoQueue,而今天给大家介绍的是最后一种:优先队列PriorityQueue,对队列 ...
随机推荐
- [JLOI2013]地形生成
JLOI2013过了好长时间,才写第四题.. 第一问比较好想. 第二问我想到了n^3次方的做法,但是数据....于是没敢写,然后上网查了一下题解,居然是O(n^3)过的,数据这么弱... /* * P ...
- [cocos2d-x]File文件的IO读写处理
转载:http://blog.csdn.net/chiuan/article/details/8618411 为了保存自定义数据文件,需要保存文件和读取文件,也就是File的IO处理: 针对cocos ...
- HTML5每日一练之details展开收缩标签的应用
details标签的出现,为我们带来了更好的用户体验,不必为这种收缩展开的效果再编写JS来实现.注:目前仅Chrome支持此标签. details有一个新增加的子标签——summary,当鼠标点击su ...
- log4j2使用总结
一.Log4j有三个主要的组件:Loggers,Appenders和Layouts,这里可简单理解为日志级别,日志要输出的地方和日志格式 1. Logger Logger的日志级别有6级,分别是TRA ...
- POJ 1860 Currency Exchange (bellman-ford判负环)
Currency Exchange 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/E Description Several c ...
- POJ 3268 Silver Cow Party (最短路dijkstra)
Silver Cow Party 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/D Description One cow fr ...
- Chrome的Postman的使用
Chrome提供了一个很好的Web App 名为 Postman 使用这个web app,你可以输入一个url,然后可以很清楚的看到返回的各种结果 直接在Google中输入Postman, 找到它 ...
- 关于ssh和ajax小小总结
我是相当的不专业,写给自己看.有什么错误的话,说出来将感激不尽. 有两种方法异步传输 1.通过json字符串: jsp中这么写: $.getJSON( "details_ajaxActio ...
- Java:浅谈InputStream的close方法
原则:最好在任何时候使用InputStream或者OutputStream的时候,在finally中调用close()方法,显式关闭. 一个典型的示例 InputStream in = null; t ...
- 【多校练习4签到题】HDU 4642—— Fliping game
来源:点击打开链接 看上去很难,比赛的时候光看hehe了,也没有想. 但是仔细想想,是可以想出来的.一个棋盘上每个格子摆放一个硬币,硬币有正面1和反面0之分.现在两个人可以按照规则翻硬币,选择(x,y ...