10、python数据结构——内置队列模块

文章介绍了Python内置的deque模块,它是一个双端队列,支持在两端进行push和pop操作。示例展示了如何进行队列操作,如append()用于队尾入队,popleft()用于队首出队,appendleft()用于队首入队,pop()用于队尾出队。此外,还提到了deque在实现类似tail功能时的作用,即保持文件的最后几行内容。
摘要由CSDN通过智能技术生成

python内置双向队列

python的内置模块是一个双向队列,双向队列其实和栈很相似,栈是支持一端push和pop操作;双向队列则支持两端push和pop操作,即队首入队和出队,队尾入队和出队。
在这里插入图片描述
导入库:from collections import deque
创建队列:queue = deque()
进队(rear):append()
出队(front):popleft()
双向队列队首进队:appendleft()
双向队列队尾出队:pop()

代码如下:

from collections import deque

q =deque()   # deque(iterable,maxsize)

q.append(1)
print(q.popleft())
# 双向队列
q.appendleft(2)  # 队首进队
print(q.pop())    # 队尾出队

使用内置模块的话,队列满了是不会报错的,而是将之前的值进行覆盖,我们可以通过这样的一个特性来进行应用,例如:可以得到一个文档的最后几行。

代码如下:

from collections import deque

def tail(n):
    with open('1.txt','r') as f:
        q = deque(f,n)
        return q
# 内置模块的size长度就是能输出多少个,和我们自己的队列会缺少一个不同
for line in tail(4):         
    print(line,end='')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值