本文实例讲述了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支持双向索引_python3 deque 双向队列创建与使用方法分析相关推荐

  1. python 动态_python实现动态创建类的方法分析

    本文实例讲述了python实现动态创建类的方法.分享给大家供大家参考,具体如下: python作为动态语言,如何在运行时动态创建类呢(python Creating classes dynamical ...

  2. python 创建子类_python创建子类的方法分析

    本文实例讲述了python创建子类的方法.分享给大家供大家参考,具体如下: 如果你的类没有从任何祖先类派生,可以使用object作为父类的名字.经典类的声明唯一不同之处在于其没有从祖先类派生---此时 ...

  3. python子类_python创建子类的方法分析

    本文实例讲述了python创建子类的方法.分享给大家供大家参考,具体如下: 如果你的类没有从任何祖先类派生,可以使用object作为父类的名字.经典类的声明唯一不同之处在于其没有从祖先类派生---此时 ...

  4. python信号量怎么用_Python3.X 线程中信号量的使用方法示例

    # -*- coding:utf-8 -*- """ Created by FizLin on 2017/07/23/-下午10:59 mail: https://git ...

  5. python操作网页界面_python3 操作页面上各种元素的方法

    (1)       控制浏览器 ①控制浏览器窗口大小set_window_size(宽,高) 打开浏览器全屏maximize_window() ②控制浏览器后退back().前进forward() ③ ...

  6. python读取xml标注坐标_遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件...

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

  7. python中矩阵加法_Python实现矩阵加法和乘法的方法分析

    本文实例讲述了python实现矩阵加法和乘法的方法.分享给大家供大家参考,具体如下: 本来以为python的矩阵用list表示出来应该很简单可以搞..其实发现有大学问. 这里贴出我写的特别不pytho ...

  8. Python容器专题 - deque(队列)--双向队列对象

    deque(队列)–双向队列对象 Deque队列是由栈或者queue队列生成的.列表也可以用作队列,其中先添加的元素被最先取出 ("先进先出"):普通列表的一个巨大缺陷在于,其往开 ...

  9. python元组支持双向索引吗_2、Python列表和元组

    2.Python序列 序列是一种数据存储方式,类似于C语言的数组.简单的说序列是一块用来存储多个值的连续内存空间,同一个序列的元素通常是相关的. Python中常用的序列结构有列表.元组.字典.字符串 ...

  10. python双向索引什么意思_python字典支持双向索引吗

    Python中的字典是另一种可变容器模型,且可存储任意类型对象.字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,字典是无序 ...

最新文章

  1. git连接jenkins_基于 Jenkins 和 Kubernetes 的持续集成测试实践了解一下!
  2. Hibernate延迟加载
  3. css_04 | CSS——CSS 值和单位
  4. IE8 beta2现已正式发布!
  5. api arx autocad_AutoCAD ObjectARX(VC)开发基础与实例教程 此书是利用ObjectARX对AutoCAD二次开发的教程 - 下载 - 搜珍网...
  6. 如何通过JNI传递对象执行回调
  7. 字符串的操作,计算,拼接
  8. 29. Divide Two Integers[M]两数相除
  9. Prism初研究之使用Prism 5.0开发模块化应用
  10. 人工智能之产生式系统
  11. 【君思智慧园区】园区物业管理系统,物业管理系统解决方案
  12. winscp是什么软件_文件传输软件WinSCP的使用
  13. Ajax+WCF+MySQL实现数据库部署并调用
  14. 教你如何在2023年办好水土保持资质
  15. 【面试总结】Unity3D面试题总结
  16. FPGA学习笔记【使用vivado内置IP核】
  17. 原生混合云——经政企打磨方能赢得政企信任
  18. unity开发微信小游戏-CDN上的资源下载失败
  19. Python基础 lambda表达式
  20. 将一个键盘输入的数字转化成中文输出

热门文章

  1. 【优化调度】基于matlab蚁群算法求解无等待流水线调度优化问题【含Matlab源码 1516期】
  2. 【CVRP】基于matlab人工鱼群算法求解带容量的车辆路径规划问题【含Matlab源码 1486期】
  3. 【定位问题】基于matlab GUI RSSI无线定位【含Matlab源码 1054期】
  4. 【图像处理】基于matlab GUI视频处理系统【含Matlab源码 756期】
  5. mavan自动化接管浏览器_人工智能与自动化:接管还是共生?
  6. 数据排序pandas
  7. nosql第二章课后习题
  8. Pycharm中更改镜像源
  9. 滁州2021年高考成绩查询时间,安徽2021中考时间表安排 滁州2021年中考时间考点公布...
  10. 获取两个数组的差 php,php-获取2个数组之间的差