我是靠谱客的博主 包容盼望,最近开发中收集的这篇文章主要介绍python基础:deque的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

deque(maxlen=N) 创建了一个固定长度的队列,当有新的记录加入而队列已满时会自动移动除最老的那条记录。

1 from collections import deque
2 d=deque(maxlen=3)
3 d.append(1)
4 d.append(2)
5 d.append(3)
6 print(d)
7 print(type(d))
8 d.append(4)
9 print(d)
View Code

输出如下:

deque([1, 2, 3], maxlen=3)
<class 'collections.deque'>
deque([2, 3, 4], maxlen=3)

虽然通过列表操作(append、del)也能够完成deque的功能,但是队列的这种解决方案要更优雅的多,运行速度也将更快。如果deque不指定队列长度,将得到一个无界限的队列,可以在两端执行添加和弹出操作,例如:

 1 from collections import deque
 2 d=deque()
 3 d.append(1)
 4 d.append(2)
 5 d.append(3)
 6 print(d)
 7 d.appendleft(4)
 8 print(d)
 9 d.pop()
10 print(d)
11 d.popleft()
12 print(d)
View Code

输出如下:

deque([1, 2, 3])
deque([4, 1, 2, 3])
deque([4, 1, 2])
deque([1, 2])

从队列两端添加或者弹出元素的复杂度都是O(1)。这和列表不同,当从列表的头部插入或者移除元素时,列表的复杂度为O(N)

转载于:https://www.cnblogs.com/yizhenfeng168/p/6916833.html

最后

以上就是包容盼望为你收集整理的python基础:deque的用法的全部内容,希望文章能够帮你解决python基础:deque的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部