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控制台英汉汉英电子词典
Apr 23 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
Python的socket模块源码中的一些实现要点分析
Jun 06 Python
python将ansible配置转为json格式实例代码
May 15 Python
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
Python3 中文文件读写方法
Jan 23 Python
运行django项目指定IP和端口的方法
May 14 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
阿里云ECS服务器部署django的方法
Aug 29 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
Python实现打包成库供别的模块调用
Jul 13 Python
python怎么删除缓存文件
Jul 19 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
Windows下的PHP5.0详解
2006/11/18 PHP
PHP 命名空间实例说明
2011/01/27 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
Python中字符编码简介、方法及使用建议
2015/01/08 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
python3跳出一个循环的实例操作
2020/08/18 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
先进事迹报告会感言
2014/01/24 职场文书
管理专员自荐信
2014/01/26 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
陈欧广告词
2014/03/14 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python