Open bonfy opened 7 years ago
lst = [1, 2, 3]
lst.pop(0) # out: 1 lst: [2, 3]
lst.append(4) # lst:[2, 3, 4]
from queue import Queue
q = Queue()
q.put(1)
q.put(2)
q.queue # dqueue([1, 2])
q.get() # out 1
Queue 就是先进先出, 简单的可以用 List 替代,进用 list.append
, 出用 list.pop(0)
q = Queue(maxsize = 10)
Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。
将一个值放入队列中
Queue.put(10)
调用队列对象的put()方法在队尾插入一个项目。put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数, 默认为1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异 常。
将一个值从队列中取出
Queue.get()
调用队列对象的get()方法从队头删除并返回一个项目。可选参数为block,默认为True。如果队列为空且block为True,get()就使调用线程暂停,直至有项目可用。如果队列为空且block为False,队列将引发Empty异常。
lst = [1, 2, 3]
lst.pop() # or lst.pop(-1) out: 3 lst: [1, 2]
lst.append(4) # lst:[1, 2, 4]
Stack的实现
感觉python中的List很强大,所以好多的类很少用到
看看List 与 Queue、Stack的实现