# deque对象
'''
class collections.deque([ iterable [,maxlen ] ] )
返回一个从左到右(使用append())初始化的新deque对象,其中包含来自iterable的数据。如果未指定iterable,则新的deque为空。 Deques是堆栈和队列的概括(名称发音为“deck”,是“双端队列”的缩写)。Deques支持线程安全,内存有效的附加和从双端队列的弹出,在任一方向上具有大致相同的O(1)性能。 尽管list对象支持类似的操作,但它们针对快速固定长度操作进行了优化,并且导致O(n)内存移动成本pop(0)和操作,这些成本 改变了底层数据表示的大小和位置。insert(0, v) 如果未指定maxlenNone,则deques可能会增长到任意长度。否则,双端队列限制为指定的最大长度。一旦有界长度双端队列已满,当添加新项目时,从对方端丢弃相应数量的项目。有界长度deques提供类似于tailUnix中的过滤器的功能。它们还可用于跟踪仅涉及最近活动的事务和其他数据池。 Deque对象支持以下方法: append(x )
将x添加到双端队列的右侧。 appendleft(x )
将x添加到双端队列的左侧。 clear()
删除deque中的所有元素,使其长度为0。 copy()
创建双端队列的浅表副本。 版本3.5中的新功能。 count(x )
计算deque元素的数量等于x。 版本3.2中的新功能。 extend(可迭代的)
通过附加可迭代参数中的元素来扩展双端队列的右侧。 extendleft(可迭代的)
通过附加来自iterable的元素来扩展双端队列的左侧。注意,左边追加的系列会导致反转迭代参数中元素的顺序。 index(x [,start [,stop ] ] )
返回deque 中x的位置(在索引开始时或 索引停止之前)。返回第一个匹配或ValueError如果未找到则引发 。 版本3.5中的新功能。 insert(i,x )
将x插入位置i的双端队列中。 如果插入会导致有界双端超过maxlen,IndexError则会引发a。 版本3.5中的新功能。 pop()
从双端队列的右侧移除并返回一个元素。如果没有元素,则提出一个IndexError。 popleft()
从双端队列的左侧移除并返回一个元素。如果没有元素,则提出一个IndexError。 remove(值)
删除第一次出现的值。如果没有找到,提出一个 ValueError。 reverse()
在原位反转deque的元素然后返回None。 版本3.2中的新功能。 rotate(n = 1 )
向右旋转deque n步。如果n为负数,则向左旋转。 当双端队列不为空时,向右d.appendleft(d.pop())旋转一步相当于,向左旋转一步相当于d.append(d.popleft())。 Deque对象还提供一个只读属性: maxlen
一个双端队列的最大大小或None无边界。 '''
from collections import deque var = deque(['shanghai','beijing','shenzhen','guangzhou']) # 队列遵从先进先出的原则,在设定maxlen 的情况下,后进去的会将先进去的挤出去
de = deque(maxlen=4)
print(de.maxlen) # de.append("Tom")
de.append("Sarah")
de.append("Tony")
de.append("Jim")
de.append("Charles")
print(de)

最新文章

  1. SQL SERVER 临时表导致存储过程重编译(recompile)的一些探讨
  2. 山东省第七届ACM省赛------Triple Nim
  3. Python垃圾回收机制
  4. 有强迫症的我只能自己写一个json格式化工具
  5. jquery多次上传同一张图片
  6. Android界面性能调优手册
  7. jquery.ajaxfileupload.js
  8. Hibernate 配置详解(9)
  9. nginx: [emerg] the size 10485760 of shared memory zone "cache_one" conflicts with already declared size 0
  10. js的阻塞特性
  11. Java设计模式学习笔记,二:工厂模式
  12. Spring框架——事务处理(编程式和声明式)
  13. CentOS 7中关闭删除virbr0虚拟网卡
  14. openPose-注
  15. Spark开发第一个程序
  16. Mathmatica简介
  17. Oracle实现like多个值的查询
  18. python爬虫_简单使用百度OCR解析验证码
  19. C++使用Socket 邮箱登录服务器验证
  20. 微信小程序demo——入门级(附源码)

热门文章

  1. 在linux中下载安装FTP服务
  2. Object-Oriented Programming Summary Ⅰ
  3. 日常破解---XCTF_APP1获取flag记录
  4. JS反爬绕过思路之--谷歌学术镜像网链接抓取
  5. R时间序列分析实例
  6. R语言实战(三) 图形初阶
  7. kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署
  8. Natas22 Writeup(header重定向、burp截取抓包)
  9. 遍历集合的常见方式,排序,用lambda表示是怎样的
  10. 目标检测 | 经典算法 Cascade R-CNN: Delving into High Quality Object Detection