Python deque 双队列

发布于 2024-03-04 22:07:24 字数 1550 浏览 22 评论 0

deque 实现了两端都可以操作的队列,相当于双端队列,与列表很相似。

from collections import deque

#创建 deque
d1 = deque([1,2,3])
#单个数据入队
d1.append('a')
d1.appendleft('A')
print(d1)

#可迭代对象入队
d1.extend(['b','c'])
d1.extendleft(['B'])
print(d1)

#指定位置插入数据
d1.insert(2,'T')  #插在 2 的位置(左数第 3 位)
print(d1)
deque(['A', 1, 2, 3, 'a'])
deque(['B', 'A', 1, 2, 3, 'a', 'b', 'c'])
deque(['B', 'A', 'T', 1, 2, 3, 'a', 'b', 'c'])
#出队
print(d1.pop()) #将队列尾部的数据弹出,并作为返回值
print(d1.popleft())  #将队列头部的数据弹出,并作为返回值
print(d1)
c
B
deque(['A', 'T', 1, 2, 3, 'a', 'b'])
#复制队列
d2 = d1.copy()
print(d2)
deque(['A', 'T', 1, 2, 3, 'a', 'b'])
#指定值的索引
print(d1.index('A'))
#指定值的数量
print(d1.count('A'))
0
1
#翻转
d2.reverse()
print(d2)
deque(['b', 'a', 3, 2, 1, 'T', 'A'])
#删除
d2.remove('T')
print(d2)

#全部清空
d2.clear()
print(d2)
deque(['b', 'a', 3, 2, 1, 'A'])
deque([])
#指定队列的长度
d3 = deque(maxlen=5)
d3.extend([1,2,3,4,5])
d3.append('A')
print(d3)
deque([2, 3, 4, 5, 'A'], maxlen=5)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
22 人气
更多

推荐作者

我们的影子

文章 0 评论 0

素年丶

文章 0 评论 0

南笙

文章 0 评论 0

18215568913

文章 0 评论 0

qq_xk7Ean

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文