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标准库之随机数 (math包、random包)介绍
Nov 25 Python
Python实现豆瓣图片下载的方法
May 25 Python
Python导入oracle数据的方法
Jul 10 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Python 实现文件打包、上传与校验的方法
Feb 13 Python
Python 的AES加密与解密实现
Jul 09 Python
python怎么对数字进行过滤
Jul 05 Python
python3实现飞机大战
Nov 29 Python
pandas 数据类型转换的实现
Dec 29 Python
Python项目打包成二进制的方法
Dec 30 Python
opencv检测动态物体的实现
Jul 21 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
linux iconv方法的使用
2011/10/01 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
Javascript this 的一些学习总结
2012/08/02 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
javascript学习之json入门
2016/12/22 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
angular4自定义组件详解
2017/09/28 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
jQuery插件实现的日历功能示例【附源码下载】
2018/09/07 jQuery
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中的super()方法使用简介
2015/08/14 Python
python实现flappy bird游戏
2018/12/24 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
python 实现屏幕录制示例
2019/12/23 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
python安装sklearn模块的方法详解
2020/11/28 Python
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
J2EE中常用的名词进行解释
2015/11/09 面试题
养殖人员的创业计划书范文
2013/12/26 职场文书
中专自我鉴定
2014/02/05 职场文书
召开会议通知范文
2015/04/15 职场文书
导游词幽默开场白
2019/06/26 职场文书
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL