Python Deque 模块使用详解

yipeiwu_com7年前Python基础

创建Deque序列:

from collections import deque

d = deque()

Deque提供了类似list的操作方法:

  d = deque()
  d.append('1')
  d.append('2')
  d.append('3')
  len(d)
  d[0]
  d[-1]

输出结果:

  3
  '1'
  '3'

两端都使用pop:

  d = deque('12345')
  len(d)
  d.popleft()
  d.pop()
  d

输出结果:

  5
  '1'
  '5'
  deque(['2', '3', '4'])

我们还可以限制deque的长度:

    d = deque(maxlen=30)

当限制长度的deque增加超过限制数的项时, 另一边的项会自动删除:

  d = deque(maxlen=2)
  d.append(1)
  d.append(2)
  d
  d.append(3)
  d
  deque([1, 2], maxlen=2)
  deque([2, 3], maxlen=2)

添加list中各项到deque中:

  d = deque([1,2,3,4,5])
  d.extendleft([0])
  d.extend([6,7,8])
  d

输出结果:

  deque([0, 1, 2, 3, 4, 5, 6, 7, 8])

相关文章

python利用datetime模块计算时间差

今天写了点东西,要计算时间差,我记得去年写过,于是今天再次mark一下,以免自己忘记 In [27]: from datetime import datetime In [28]:...

NetworkX之Prim算法(实例讲解)

NetworkX之Prim算法(实例讲解)

引言 Prim算法与Dijkstra的最短路径算法类似,它采用贪心策略。算法开始先把图中权值最小的边添加到树T中,然后不断把权值最小的边E(E的一个端点在T中,另一个在G-T中)。当没有...

python使用PyV8执行javascript代码示例分享

安装相应的库,我使用的是PyV8 需要注意的是里面写的function函数需要用()括起来 复制代码 代码如下:import PyV8 class Test():   ...

Python+PIL实现支付宝AR红包

Python+PIL实现支付宝AR红包

本文实例为大家分享了Python+PIL处理支付宝AR红包的具体代码,供大家参考,具体内容如下 思路比较简单: 1、对图片进行锐化处理; 2、设(r_h, g_h, b_h)为支付宝遮...

python实现数值积分的Simpson方法实例分析

本文实例讲述了python实现数值积分的Simpson方法。分享给大家供大家参考。具体如下: #coding = utf-8 #simpson 法计算积分,数值积分,效果非常理想 f...