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将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
Python实现的绘制三维双螺旋线图形功能示例
Jun 23 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 Python
Python3实现的判断环形链表算法示例
Mar 07 Python
详解Django定时任务模块设计与实践
Jul 24 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
python 图像增强算法实现详解
Jan 24 Python
python process模块的使用简介
May 14 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
php下实现折线图效果的代码
2007/04/28 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
jQuery Ajax文件上传(php)
2009/06/16 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
Python程序设计入门(1)基本语法简介
2014/06/13 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
python实现flappy bird游戏
2018/12/24 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
python字符串循环左移
2019/03/08 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
用Python开发app后端有优势吗
2020/06/29 Python
Python urllib3软件包的使用说明
2020/11/18 Python
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
eBay德国站:eBay.de
2017/09/14 全球购物
六十大寿答谢词
2014/01/12 职场文书
全陪导游欢迎词
2014/01/17 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
地球一小时宣传标语
2014/06/24 职场文书
观后感格式
2015/06/19 职场文书
新闻报道稿范文
2015/07/23 职场文书
初中同学会致辞
2015/08/01 职场文书