python deque模块简单使用代码实例


Posted in Python onMarch 12, 2020

最近在pythonTip做题的时候,遇到了deque模块,以前对其不太了解,现在特此总结一下

deque模块是python标准库collections中的一项,它提供了两端都可以操作的序列,这意味着,在序列的前后你都可以执行添加或删除操作。

deque 是python提供的一个数据结构,线程安全,功能比list强大

代码如下

from collections import deque

user_list = ['admin', 'root']
user = user_list.pop() # 弹出list尾部的元素, list没有提供操作头部的方法
print(user, user_list) # root ['admin']

"""
deque 是线程安全的 GIL保证
list 非线程安全
"""

#   def __init__(self, iterable=(), maxlen=None)
user_deque = deque(['admin', 'root', 'jet'])

# append 添加一个元素到deque的尾部,也即是从右边插入一个元素
user_deque.append('md')

# 从头部添加一个元素
user_deque.appendleft('fi')

# pop 从尾部弹出一个元素
pop_item = user_deque.pop()
print(pop_item)

# 从头部弹出一个元素
pop_left_item = user_deque.popleft()

# extent 添加一个deque到原deque中去,合并deque. 注意: 并不会返回一个新的deque
user_deque.extend(deque(('a1', 'a2')))

# 合并deque到的元素到原deque的左边
user_deque.extendleft(deque([123,456]))

# 统计个数
count = user_deque.count(123)
print(count)


print(user_deque)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获得图片base64编码示例
Jan 16 Python
python内存管理分析
Apr 08 Python
Python实现文件按照日期命名的方法
Jul 09 Python
详解Python多线程Selenium跨浏览器测试
Apr 01 Python
动态规划之矩阵连乘问题Python实现方法
Nov 27 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 Python
python yield和Generator函数用法详解
Feb 10 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
Feb 12 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
Python可视化学习之seaborn调色盘
Feb 24 Python
python中安装django模块的方法
Mar 12 #Python
python3 sorted 如何实现自定义排序标准
Mar 12 #Python
Python dict和defaultdict使用实例解析
Mar 12 #Python
Python数据结构dict常用操作代码实例
Mar 12 #Python
Python基于类路径字符串获取静态属性
Mar 12 #Python
对python中return与yield的区别详解
Mar 12 #Python
python 子类调用父类的构造函数实例
Mar 12 #Python
You might like
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
浅谈PHP安全防护之Web攻击
2017/01/03 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
Python语言进阶知识点总结
2019/05/28 Python
pycharm显示远程图片的实现
2019/11/04 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
explicit和implicit的含义
2012/11/15 面试题
大专生工程监理求职信
2013/10/04 职场文书
大学毕业的自我鉴定
2013/10/08 职场文书
代理班主任的自我评价
2014/02/04 职场文书
欢迎领导标语
2014/06/27 职场文书
离职证明标准格式
2014/09/15 职场文书
单位介绍信格式范文
2015/05/04 职场文书
干部培训工作总结2015
2015/05/25 职场文书
聘任书格式及范文
2015/09/21 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js