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实现Sqlite将字段当做索引进行查询的方法
Jul 21 Python
Python设计模式之代理模式简单示例
Jan 09 Python
Python模块文件结构代码详解
Feb 03 Python
python3中的md5加密实例
May 29 Python
利用pandas将numpy数组导出生成excel的实例
Jun 14 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
python新手学习使用库
Jun 11 Python
Python如何实现自带HTTP文件传输服务
Jul 08 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 Python
Python如何使用logging为Flask增加logid
Mar 30 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 checkbox 取值详细说明
2010/08/19 PHP
php eval函数用法总结
2012/10/31 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
Python下的twisted框架入门指引
2015/04/15 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
出纳岗位职责
2013/11/09 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
孔庙导游词
2015/02/04 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
婚宴致辞
2015/07/28 职场文书