python collections deque
collections是python的高级容器类库,包含了dict、truple之外的常用容器。
下面介绍常用的deque
1. deque是双端队列,可以从两端塞元素进去,也可以从两端取元素。
2. deque是线程安全的,可以用来做多线程的共享资源,我也是因为这个开始接触duque的
>>> from collections import deque
>>> a = [1, 2, 3, 4]
用列表初始化deque
>>> deq = deque(a)
>>> deq
deque([1, 2, 3, 4])
往deque中迭代入队列表原始
>>> deq.extend(a)
>>> deq
deque([1, 2, 3, 4, 1, 2, 3, 4])
从右端入队元素
>>> deq.append(5)
>>> deq
deque([1, 2, 3, 4, 1, 2, 3, 4, 5])
从左端输入元素
>>> deq.appendleft(6)
>>> deq
deque([6, 1, 2, 3, 4, 1, 2, 3, 4, 5])
从右端出队
>>> deq.pop()
5
从左端出队
>>> deq.popleft()
6
>>> deq
deque([1, 2, 3, 4, 1, 2, 3, 4])
从左往右旋转
>>> deq.rotate(-2)
>>> deq
deque([3, 4, 1, 2, 3, 4, 1, 2])
从右往左旋转
>>> deq.rotate(2)
>>> deq
deque([1, 2, 3, 4, 1, 2, 3, 4])
从文件输出到deque
比如,输入文件的倒数3行,得到大小为3的队列
>>> a = deque(open('test.txt'), 3)
>>> a
deque(['5\n', '6\n', '7\n'], maxlen=3)
python collections deque的更多相关文章
- 739. Daily Temperatures && 单调栈 && Python collections deque
题目大意 给你接下来每一天的气温,求出对于每一天的气温,下一次出现比它高气温的日期距现在要等多少天 解题思路 利用单调栈,维护一个单调递减的栈 将每一天的下标i入栈,维护一个温度递减的下标 若下一个温 ...
- python之保留有限的历史记录(collections.deque)
1.deque(maxlen=N)创建一个固定长度的队列,当有新的记录加入而队列已经满时,会自动移除老的记录. from collections import deque q = deque(maxl ...
- python collections 模块 之 deque
class collections.deque(iterable[,maxlen]): 返回 由可迭代对象初始化的 从左向右的 deque 对象. maxlen: deque 的最大长度,一旦长度超出 ...
- [python] Queue.Queue vs. collections.deque
https://stackoverflow.com/questions/717148/queue-queue-vs-collections-deque/717199#717199 Queue,Queu ...
- Python collections模块总结
Python collections模块总结 除了我们使用的那些基础的数据结构,还有包括其它的一些模块提供的数据结构,有时甚至比基础的数据结构还要好用. collections ChainMap 这是 ...
- (转)python collections模块详解
python collections模块详解 原文:http://www.cnblogs.com/dahu-daqing/p/7040490.html 1.模块简介 collections包含了一些特 ...
- Python Collections详解
Python Collections详解 collections模块在内置数据结构(list.tuple.dict.set)的基础上,提供了几个额外的数据结构:ChainMap.Counter.deq ...
- python的deque(双向)队列详解
首先 python的队列有很多种 Python标准库中包含了四种队列,分别是queue.Queue / asyncio.Queue / multiprocessing.Queue / collecti ...
- python collections defaultdict
class_counts = defaultdict(int) 一.关于defaultdict 在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collect ...
随机推荐
- leetcode_Basic Calculator II
题目: Implement a basic calculator to evaluate a simple expression string. The expression string conta ...
- 微信小程序登录时序图
https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html
- 22.Atomicity and Transactions-官方文档摘录
原子性和事务 1 在单个文档修改多个嵌入文档,写操作都在文档级别上都是原子的 2 在单个写操作修改多个文档时,每个文档的修改都具有原子性,但是,作为一个整体的操作,并不是原子的.其他操作可能有交互.使 ...
- 机房断电导致MySQL同步1594错误
1.错误信息 Last_IO_Error: Got fatal error from master when reading data from binary log: ' at 208645951. ...
- Php 创建XML
Php 创建XML Php 创建XML并保存,学习示比例如以下: <? php try{ //创建DOMDocument 对象 $dom = new DOMDocument("1.0 ...
- Python-读入json文件并进行解析及json基本操作
import json def resolveJson(path): file = open(path, "rb") fileJson = json.load(file) fi ...
- composer是php包管理工具
composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. MAC.L ...
- POJ3903Stock Exchange&&POJ1631Bridging signals最长上升子序列 &&POJ1887Testing the CATCHER(最长下降子序列)(LIS模版题)
题目链接:http://poj.org/problem?id=3903 题目链接:http://poj.org/problem?id=1631 题目链接:http://poj.org/problem? ...
- MFC程序执行过程剖析
一 MFC程序执行过程剖析 1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用 ...
- HTML5笔记——formData
注:formData中的数据在控制台上的console里面是打印不出来的,只能在控制台的network里面查看到具体的发送数据和发送选项 文章出处:梦想天空 XMLHttpRequest Level ...