模块_collections包_deque
双端队列 deque 与 队列queue
双端队列-高效实现插入删除操作的双向列表(list列表的插入、删除效率较低)
import queue q = queue.Queue() # 创建一个队列 (一端放,另一端取) FIFO (First In First Out) 先进先出 不能插队哦 没有insert()方法 q.put(10) q.put(8) q.put(6) q.put(4) q.put(2) print(q.get()) print(q.get()) print(q.get()) while q.qsize(): # 判断队列大小(队列中还有多少没被取出) print("循环取出剩余未被取出的", q.get())
from collections import deque dq = deque(['a', 'b', 'c']) # 创建一个双端队列 "双端"-可以被从两端 增\删 可以被"插队" 它有insert()方法 dq.append('x') # 尾端新增 dq.append('y') # 尾端新增 dq.append('z') # 尾端新增 dq.appendleft('3') # 首端新增 dq.appendleft('2') # 首端新增 dq.appendleft('1') # 首端新增 print(dq) # deque(['1', '2', '3', 'a', 'b', 'c', 'x', 'y', 'z']) dq.pop() # 尾端删除一个 dq.popleft() # 首端删除一个 print(dq) # deque(['2', '3', 'a', 'b', 'c', 'x', 'y']) print(dq.pop()) # 尾端删除一个 打印出被删除的元素 dq.insert(2, 'A') # 可以按索引下标插入 print(dq) # deque(['2', '3', 'A', 'a', 'b', 'c', 'x'])


浙公网安备 33010602011771号