python3 deque 双向队列创建与使用方法分析


Posted in Python onMarch 24, 2020

本文实例讲述了python3 deque 双向队列创建与使用方法。分享给大家供大家参考,具体如下:

创建双向队列

import collections
d = collections.deque()

append(往右边添加一个元素)

import collections
d = collections.deque()
d.append(1)
d.append(2)
print(d)

#输出:deque([1, 2])

appendleft(往左边添加一个元素)

import collections
d = collections.deque()
d.append(1)
d.appendleft(2)
print(d)

#输出:deque([2, 1])

clear(清空队列)

import collections
d = collections.deque()
d.append(1)
d.clear()
print(d)

#输出:deque([])

copy(浅拷贝)

import collections
d = collections.deque()
d.append(1)
new_d = d.copy()
print(new_d)

#输出:deque([1])

count(返回指定元素的出现次数)

import collections
d = collections.deque()
d.append(1)
d.append(1)
print(d.count(1))

#输出:2

extend(从队列右边扩展一个列表的元素)

import collections
d = collections.deque()
d.append(1)
d.extend([3,4,5])
print(d)

#输出:deque([1, 3, 4, 5])

extendleft(从队列左边扩展一个列表的元素)

import collections
d = collections.deque()
d.append(1)
d.extendleft([3,4,5])
print(d)

# #输出:deque([5, 4, 3, 1])

index(查找某个元素的索引位置)

import collections
d = collections.deque()
d.extend(['a','b','c','d','e'])
print(d)
print(d.index('e'))
print(d.index('c',0,3)) #指定查找区间

#输出:deque(['a', 'b', 'c', 'd', 'e'])
#     4
#     2

insert(在指定位置插入元素)

import collections
d = collections.deque()
d.extend(['a','b','c','d','e'])
d.insert(2,'z')
print(d)

#输出:deque(['a', 'b', 'z', 'c', 'd', 'e'])

pop(获取最右边一个元素,并在队列中删除)

import collections
d = collections.deque()
d.extend(['a','b','c','d','e'])
x = d.pop()
print(x,d)

#输出:e deque(['a', 'b', 'c', 'd'])

popleft(获取最左边一个元素,并在队列中删除)

import collections
d = collections.deque()
d.extend(['a','b','c','d','e'])
x = d.popleft()
print(x,d)

#输出:a deque(['b', 'c', 'd', 'e'])

remove(删除指定元素)

import collections
d = collections.deque()
d.extend(['a','b','c','d','e'])
d.remove('c')
print(d)

#输出:deque(['a', 'b', 'd', 'e'])

reverse(队列反转)

import collections
d = collections.deque()
d.extend(['a','b','c','d','e'])
d.reverse()
print(d)

#输出:deque(['e', 'd', 'c', 'b', 'a'])

rotate(把右边元素放到左边)

import collections
d = collections.deque()
d.extend(['a','b','c','d','e'])
d.rotate(2)  #指定次数,默认1次
print(d)

#输出:deque(['d', 'e', 'a', 'b', 'c'])

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中文字符串截取问题
Jun 15 Python
python实现的简单FTP上传下载文件实例
Jun 30 Python
python中nan与inf转为特定数字方法示例
May 11 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
python 对key为时间的dict排序方法
Oct 17 Python
python读取各种文件数据方法解析
Dec 29 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
python matplotlib折线图样式实现过程
Nov 04 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 #Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 #Python
PyQt5中向单元格添加控件的方法示例
Mar 24 #Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 #Python
PYQT5 vscode联合操作qtdesigner的方法
Mar 24 #Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 #Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 #Python
You might like
十天学会php之第五天
2006/10/09 PHP
用文本文件制作留言板提示(下)
2006/10/09 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
Jquery replace 字符替换实现代码
2010/12/02 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
win与linux系统中python requests 安装
2016/12/04 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
python实现简单神经网络算法
2018/03/10 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
Python中字符串List按照长度排序
2019/07/01 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
Ref与out有什么不同
2012/11/24 面试题
策划主管的工作职责
2013/11/24 职场文书
伦敦奥运会口号
2014/06/13 职场文书
护理医院见习报告
2014/11/03 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
食品药品安全责任书
2015/05/11 职场文书
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技