Python collections.deque()
Python collections deque
2023-09-27 14:25:29 时间
一、问题
保留最后几个元素。
二、解决方案
deque(maxlen=N)
会新建一个固定大小的队列。
当新元素加入已满的队列,最老的元素会被移除。
from collections import deque
q = deque(maxlen=3)
q.append(1)
print(q)
q.append(2)
q.append(3)
print(q)
q.append(4)
print(q)
q.append(5)
print(q)
输出:
deque([1], maxlen=3)
deque([1, 2, 3], maxlen=3)
deque([2, 3, 4], maxlen=3)
deque([3, 4, 5], maxlen=3)
列表也可以实现这个操作。但队列更快。
在队列两端插入、删除元素时间复杂度是O(1)
,在列表开头插入、删除元素时间复杂度是O(N)
。
q.appendleft(6)
print(q)
q.pop()
print(q)
q.popleft()
print(q)
输出:
deque([6, 3, 4], maxlen=3)
deque([6, 3], maxlen=3)
deque([3], maxlen=3)
相关文章
- Python的开源人脸识别库:离线识别率高达99.38%(附源码)
- 提取视频中的音频 Python只需要三行代码!
- 【阿玥教程】Python初学者看过来啊,老油条来复习
- Python 语言基础变量的类型转换
- Python函数:collections.defaultdict()
- Python实现人脸识别
- pycharm怎么修改python路径
- 一文3000字从0到1教你用python+selenium搭建UI自动化测试环境以及使用
- 凭啥Java运行环境称虚拟机 Python只能称解释器
- java执行python脚本
- Python collections.OrderedDict()
- 成功解决:Can‘t find Python executable “python“, you can set the PYTHON env variable.
- Python妙用re.sub分析正则表达式匹配过程
- python爬虫
- queue for thread of Python
- collections.abc of Python
- multiprocessing.Process() ----------python中的多进程