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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python 变量类型及命名规则介绍
Jun 08 Python
深入理解Python中的元类(metaclass)
Feb 14 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
python 内置函数filter
Jun 01 Python
浅析Python装饰器以及装饰器模式
May 28 Python
python使用tcp实现局域网内文件传输
Mar 20 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
关于 Python json中load和loads区别
Nov 07 Python
详细介绍python操作RabbitMq
Apr 12 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导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
python实现排序算法解析
2018/09/08 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
一行python实现树形结构的方法
2019/08/09 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
奢华的意大利皮革手袋:Bene Handbags
2019/10/29 全球购物
三月法制宣传月活动总结
2014/07/03 职场文书
质量整改通知单
2015/04/21 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
pytorch显存一直变大的解决方案
2021/04/08 Python
Django使用redis配置缓存的方法
2021/06/01 Redis
java版 联机五子棋游戏
2022/05/04 Java/Android