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 ...
随机推荐
- tomcat启动报错:注释指定的bean类.与现有的冲突.相同的名称和类
错误: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/business/config ...
- 基于HTTP协议的轻量级开源简单队列服务:HTTPSQS 笔记
队列服务就是为了提高相应速度,把耗时或者不需要即时处理的流程放到异步处理过程中,HTTPSQS就是这样一个服务. 更详细的可以参考 http://blog.s135.com/httpsqs/,这里记录 ...
- 网络编程 - UDP协议
UDP协议 服务端 ''' UDP 协议 又称 数据报协议 SOCK_DGRAM ''' from socket import * # 一般不这样做 会重名 但写socket可以这样写 因为要用到太多 ...
- 使用python的logging模块(转)
一.从一个使用场景开始 开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件 import logging # 创建一个logger logger = logging.getLogger(' ...
- 转载:futex同步机制详解
在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序", ...
- 用hashlib生成动态token
生成token: import timeimport hashlib token ='jdhfvasuiodfbhsjdbvaio' client_time = time.time() client_ ...
- springmvc 之 easyUI开发商城管理系统
1.分页 url:controller的路径 pageSize:每页显示的行数 ---后台参数名(rows) 会向后台传递一个 page参数,表示当前页.---后台参数名(page) controll ...
- Spring boot 打包瘦身方法
背景 随着spring boot 的流行.越来越多的来发着选择使用spring boot 来发 web 应用. 不同于传统的 web 应用 需要 war 包来发布应用. spring boot 应用可 ...
- 脚本其实很简单-windows配置核查程序(1)
先上成品图 需求描述 我们电脑上都安装各种过监控软件,比如360.鲁大师等等...其中有一个功能就是性能监控,在安全行业里面通常叫做"配置核查",目的就是将主机的各种性能指标展示, ...
- Selenium 方法封装 一
Selenium 封装 Selenium 封装 WebDriver对页面的操作,需要找到一个WebElement,然后再对其进行操作,比较繁琐: WebElement element =driver. ...