Python 的 `deque`(双端队列)是 `collections` 模块中的高效数据结构,支持在两端快速添加和删除元素,时间复杂度均为 O(1),而普通列表在头部操作时效率较低。`deque` 具备循环特性,可将首尾逻辑相连,并提供 `rotate()` 方法实现整体左移或右移。常用方法包括 `append()`、`appendleft()`、`pop()`、`popleft()` 和 `extend()` 等,适用于需要频繁两端操作的场景,如滑动窗口、任务队列和缓存管理等。
1、 函数append(x)用于添加元素
2、 在双向队列右端插入元素x。
3、 函数appendleft(x)用于在队列左侧添加元素x。
4、 在双向队列的左侧插入元素x。
5、 函数 clear() 用于清空内容
6、 清空双向链表中的所有元素。
7、 函数 count(x) 用于统计数量
8、 功能:统计双向链表中值为x的元素个数。
9、 函数extend用于向列表末尾添加可迭代对象的所有元素。
10、 在双向队列右端添加列表参数中的一个元素。
11、 注意区分`extend()`与`append()`方法的功能差异,具体用法可参考图中示例。
12、 在双向队列左侧添加列表参数中的首个元素。
13、 需注意extend()与append()方法在列表操作中的功能差异。
14、 pop() 与 popleft() 是两种出栈/出队操作。
15、 这两个函数功能相同,区别在于:前者默认从右侧移除并返回一个元素,后者则从左侧移除并返回一个元素,具体操作方式所示。
16、 函数remove(value)用于移除指定值。
17、 功能:从双向队列中移除第一个值为value的元素;若未找到,则抛出异常。
18、 匹配值时,系统从左侧开始进行比对。
19、 函数 reverse() 用于反转序列。
20、 将双向队列中所有元素的顺序完全反转。
21、 定义一个名为rotate的函数,接收参数n。
22、 该功能实现双向队列的循环移位:当n为正时,所有元素向右移动n位;当n为负时,则向左移动|n|位。移出端的元素自动补到另一端。
评论
更多评论