Python python对象 deque
# 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)
Python python对象 deque的更多相关文章
- 完全理解 Python 迭代对象、迭代器、生成器
完全理解 Python 迭代对象.迭代器.生成器 2017/05/29 · 基础知识 · 9 评论 · 可迭代对象, 生成器, 迭代器 分享到: 原文出处: liuzhijun 本文源自RQ作者 ...
- Python的对象操作(一)
python支持对象和函数 1. python是解释型语言,逐行运行 2. 对象调用 例子:删除文件的一个例子 2.1 先定义一个类 class MyApp: 2.2 import 引用要用到的模 ...
- python面对对象编程------4:类基本的特殊方法__str__,__repr__,__hash__,__new__,__bool__,6大比较方法
一:string相关:__str__(),__repr__(),__format__() str方法更面向人类阅读,print()使用的就是str repr方法更面对python,目标是希望生成一个放 ...
- Python进阶 - 对象,名字以及绑定
Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...
- Python 文件对象
Python 文件对象 1) 内置函数 open() 用于打开和创建文件对象 open(name,[,mode[,bufsize]]) 文件名.模式.缓冲区参数 mode: r 只读 w 写入 a 附 ...
- python中对象、类型和元类之间的关系
在python中对象.类型和元类构成了一个微妙的世界. 他们有在这个世界里和平共处,相辅相成.它们遵循着几条亘古不变的定律: 1.python中无处不对象 2.所有对象都有三种特性:id.类型.值 3 ...
- 帮Python找“对象”
引言:你一定会感叹:Python还缺找对象? 毕竟"一切皆对象"是人家Python的哲学理念.不过,Python 允许程序员以纯粹的面向过程的方式来使用它,所以人们有时会忽视它那 ...
- 完全理解 Python 迭代对象、迭代器、生成器(转)
完全理解 Python 迭代对象.迭代器.生成器 本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators » nvie.com,俺写的这篇文章是 ...
- python,可变对象,不可变对象,深拷贝,浅拷贝。
学习整理,若有问题,欢迎指正. python 可变对象,不可变对象 可变对象 该对象所指定的内存地址上面的值可以被改变,变量被改变后,其所指向的内存地址上面的值,直接被改变,没有发生复制行为,也没有发 ...
- python 给对象绑定属性和方法和__slots__的使用
# 以c语言为主是静态语言,运行之前先编译,在运行的过程中不允许编辑代码# 在运行的过程中,可以改变,可以添加属性,就是属于动态语言(python) # python动态的添加属性以及方法class ...
随机推荐
- 爬虫(三)解析js,抓取优酷免费视频的真实播放地址
工具:google浏览器 + fiddler抓包工具 说明:这里不贴代码,[只讲思路!!!] 原始url = https://v.youku.com/v_show/id_XMzIwNjgyMDgwOA ...
- SpringBoot&Shiro实现权限管理
SpringBoot&Shiro实现权限管理 引言 相信大家前来看这篇文章的时候,是有SpringBoot和Shiro基础的,所以本文只介绍整合的步骤,如果哪里写的不好,恳请大家能指出错误,谢 ...
- 如何在普通的元素上实现enter键的绑定
在做登录页面时候,通常当用户输入账号密码后直接按enter键就触发登录按钮了. 如果是input标签,vue中可以绑定按键修饰符,但是如果是其它标签呢.我的做法如下: document.querySe ...
- Linux进程操作记录
关于Gunicorn如何终止进程: 1.用进程树显示主进程PID: pstree -ap | grep gunicorn 2.如果有daemon进程无法用kill -9删除(可能是因为daemon屏蔽 ...
- Cake URAL - 1755
1755. Cake Time limit: 0.5 secondMemory limit: 64 MB Karlsson and Little Boy have found a cake in th ...
- 微服务架构-Gradle下载安装配置教程
一.开发条件 JDK8下载地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html Eclipse下载地址:http ...
- disruptor 多生产者多消费者实战 四
一.创建event类 Order public class Order { private String id; private String name; private double price; ...
- RTP SIP win服务端软件 VOIP
RTP Real-time Transport Protocol 实时传输入协议,使用 udp 做为载体. SIP Session Initiation Protocol 会话初始化协议,加入,查询, ...
- JAVA生成EXCEL模板
JAVA生成excel模板,支持1.必填字段前加 红色 * 2.定义可选值下拉列表 valList3.定义名称并通过名称设置可选值 refName(名称在sheet2,sheet2自动隐藏)4.支持设 ...
- 在vue中实现锚点定位功能
场景如下: 今天早上看到需求方新提的一个需求,这是一份网上答卷,点击题数要实现滚动到对应题目的位置: 注意点:每题题目的高度是不受控制的,你可以取到想跳转的index:(我再循环题目时做了index+ ...