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 相关文章推荐
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
python检测远程服务器tcp端口的方法
Mar 14 Python
Python内置函数dir详解
Apr 14 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
python数据结构之链表的实例讲解
Jul 25 Python
Python如何实现MySQL实例初始化详解
Nov 06 Python
python正则表达式面试题解答
Apr 28 Python
pygame游戏之旅 python和pygame安装教程
Nov 20 Python
python 实现视频 图像帧提取
Dec 10 Python
2021年pycharm的最新安装教程及基本使用图文详解
Apr 03 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 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
提取HTML标签
2006/10/09 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
从0开始学Vue
2016/10/27 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
python del()函数用法
2013/03/24 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
python3跳出一个循环的实例操作
2020/08/18 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
内容编辑个人求职信
2013/12/10 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
服务员态度差检讨书
2014/10/28 职场文书
追讨欠款律师函
2015/06/24 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
Python利用folium实现地图可视化
2021/05/23 Python