deque双向队列

Deque可以从两端添加和删除元素。常用的结构,是它的简化版本。

Deque支持序列的常用操作,现在举一个简单例子,你会发现其实跟平成的list没啥区别:

 import collections

 dic=collections.deque('abcdefg')
print 'deque=',dic
print 'Length:',len(dic)
print 'Left end:',dic[0]
print 'Right end:',dic[-1]
dic.remove('c')
print 'remove(c):',dic

截图直接贴图了:

aaarticlea/png;base64,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" alt="" />

是不是发现和list一本一样,只是变成了deque(list),关键是一些基本的用法都一样,来个对比图吧这样更直接些:

 listTest=['a', 'b', 'c', 'd', 'e', 'f', 'g']
print 'listTest=',listTest
print 'Length:',len(listTest)
print 'Left end:',listTest[0]
print 'Right end:',listTest[-1]
listTest.remove('c')
print 'remove(c):',listTest

还是直接贴图:

aaarticlea/png;base64,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" alt="" />

下面的独特之处就来了,双向操作。deque是通过extend方法初始化集合元素的,同时你可以通过extendleft将结合元素从“左边”加入到集合中:

 import collections
d1=collections.deque()
d1.extend('abcdefg') #可以列表元素
print 'extend:',d1
d1.append('h') #只会认为是一个元素加入
print 'append:',d1
# add to left
d2=collections.deque()
d2.extendleft(xrange(6)) #从左边加入元素
print 'extendleft:',d2
d2.appendleft(6) #从左边加入元素
print 'appendleft:',d2 d1.append('h') #只会认为是一个元素加入

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

d1.extend('abcdefg')  #可以列表元素

执行结果图:

aaarticlea/png;base64,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" alt="" />

与append和appendleft方法对应的还有pop和popleft方法分别用于从集合中取出元素,看下面的例子:

 print "From the right"
d1=collections.deque('abcdefg')
print 'd1==',d1
while True:
try:
print d1.pop(),
except IndexError:
break
print
print '\n From the left'
d2=collections.deque(xrange(6))
print 'd2==',d2
while True:
try:
print d2.popleft(),
except IndexError:
break
print

执行结果:

aaarticlea/png;base64,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" alt="" />

最后值得一提的是,deque是线程安全的,也就是说你可以同时从deque集合的左边和右边进行操作而不会有影响,看下面的代码:

import collections
import threading
import time
candle=collections.deque(xrange(5))
def burn(direction,nextSource):
while True:
try:
next=nextSource()
except IndexError:
break
else:
print '%s : %s' % (direction,next)
time.sleep(0.1)
print "done %s" % direction
return
left=threading.Thread(target=burn,args=('left',candle.popleft))
right=threading.Thread(target=burn,args=('right',candle.pop)) left.start()
right.start() left.join()
right.join()

Queue单向队列

俗话说的好,有单必有双,有双必有单,下面介绍一下单向队列,和上面的双向队列进行对比:

Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。

创建一个 队列 对象 最大长度为10

线程安全,只有两种方法,一个放 一个拿。
import Queue
c=Queue.Queue(10) #生成队列的大小
c.put(1)
c.put(2)
c.put(3)
c.get()#一次取出一个,同时删除原有对列中的元素。如果取的时候没有数据,程序会夯筑等待数据

Queue的常用方法:
   Queue.qsize() #返回队列的大小 
   Queue.empty() #如果队列为空,返回True,反之False 
   Queue.full()  #如果队列满了,返回True,反之False
   Queue.full 与 maxsize 大小对应 
   Queue.get([block[, timeout]]) #获取队列,timeout等待时间,调用队列对象的get()方法从队头删除并返回一个项目。可选参数为block,默认为True。如果队列为空且 block为True,get()就使调用线程暂停,直至有项目可用。如果队列为空且block为False,队列将引发Empty异常。 
   Queue.get_nowait() #相当Queue.get(False)
   Queue.put(item)    #非阻塞写入队列,timeout等待时间,调用队列对象的put()方法在队尾插入一个项目。
   put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异常。
   Queue.put_nowait(item) #相当Queue.put(item, False)
   Queue.task_done()   #在完成一项工作之后,Queue.task_done() 函数向任务已经完成的队列发送一个信号Queue.join() 实际上意味着等到队列为空,再执行别的操作.
 
参考文章:http://blog.itpub.net/22664653/viewspace-764044/

collection系列用法-deque双向队列的更多相关文章

  1. deque(双向队列)基本用法

    deque(双向队列)基本用法 阅读体验:https://zybuluo.com/Junlier/note/1297030 简单介绍 就是可以两头插元素,两头删元素的数据结构 那么具体的STL操作(只 ...

  2. STL之deque双向队列

    deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,提供随机访问,deque在接口上和vector非常相似,下面列出deque的常用成员函数: Table 6.9. C ...

  3. deque双向队列(转)

    deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数:   deque的实现比较复杂,内部会维 ...

  4. 【转载】deque双向队列

    继vector和queue之后,又发现一个很好用的东西. 本篇转载自http://blog.csdn.net/morewindows/article/details/6946811 deque双向队列 ...

  5. C++ Deque(双向队列)

      C++ Deque(双向队列)是一种优化了的.对序列两端元素进行添加和删除操作的基本序列容器.它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的 ...

  6. STL --> deque双向队列

    deque简介 deque是双向开口的连续性存储空间.虽说是连续性存储空间,但这种连续性只是表面上的,实际上它的内存是动态分配的,它在堆上分配了一块一块的动态储存区,每一块动态存储去本身是连续的,de ...

  7. deque双向队列

    对于双向队列,与队列queue以及vector容器的区别就在于,名字不同,也就是它是双向的,可以从头开始操作,也可以从末尾开始操作. 双向队列的常用方法跟队列queue差不多: 头文件: #inclu ...

  8. collection系列用法-defaultdict()

    defaultdict() 定义以及作用 返回一个和dictionary类似的对象,和dict不同主要体现在2个方面: 可以指定key对应的value的类型. 不必为默认值担心,换句话说就是不必担心有 ...

  9. collection系列用法-namedtuple()

    namedtuple() 参考文章地址:http://www.cnblogs.com/herbert/p/3468294.html namedtuple是继承自tuple的子类.namedtuple和 ...

随机推荐

  1. Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);true positives;false positives;false negatives.

    Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);在信息检索(如搜索引擎).自然语言处理和检测分类中经常会使用这些参数. Precision:被检测出来的信息 ...

  2. skynet newservice API参考

    local skynet = require("skynet") skynet.start(start_func) c服务snlua启动后执行的第一个lua文件里面的主逻辑必定是s ...

  3. WebResource.axd文件的配置和使用

    很多ASP.NET server控件都需要另外的外部资源来实现某些功能,WebResource.axd就是将一些js,jpg,bmp等封装或叫植入到类库里面. 使用WebResource.axd需要注 ...

  4. Delphi下URL汉字编码解码的两个函数

    //汉字URL编码函数function URLEncode(const S: string; const InQueryString: Boolean): string;var  Idx: Integ ...

  5. Android GUI Building Blocks

    说明:此笔记为“Android开发”学习视频的笔记,链接如下:http://open.163.com/movie/2010/1/8/D/M79HE97C3_M79HEQJ8D.html 一, Acti ...

  6. linux 和unix 的区别

    Linux与Unix的区别  某些PC机的Unix和Linux在实现方面相类似.几乎所有的商业Unix版本都基本支持同样的软件.程序设计环境和网络特性.然而,Linux和Unix的商业版本依然存在许多 ...

  7. 此证书的签发者无效Missing iOS Distribution signing identity问题解决

    问题描述 今天准备打包上传AppStore,结果Xcode报以下错误:Missing iOS Distribution signing identity for XXXXXX 查看证书后发现,Deve ...

  8. C# DataTable转实体 通用方法【转】

    public static T GetEntity<T>(DataTable table) where T : new()    {        T entity = new T();  ...

  9. DevExpress控件之:ChartControl 动态绑定数据

    private void BindData(ViewType vt) { chartControl1.Series.Clear(); //Series series1 = new Series(&qu ...

  10. Eclipse下运行拷贝的项目,更改项目名后报404

    右键项目->Properties->Web Project Settings 将“Context root”改为你的项目名称