首页 文章资讯内容详情

Python Deque双端队列操作方法

2026-06-03 1 花语

在Python中,双端队列是一种数据结构,例如堆栈和队列。它允许从队列的两端进行追加和弹出操作。这使其与其余数据结构不同。下面列出了适用于双端队列的各种操作。在本文中,我们将看到每个操作的示例。该集合模块用于实现双端队列。

双端队列操作

以下是使用双端队列进行的一些有用操作

append()-此函数用于将其参数中的值插入到双队列的右端。

appendleft()-此函数用于将其参数中的值插入到双端队列的左端。

pop()-此函数用于从双端队列的右端删除参数。

popleft()-此函数用于从双端队列的左端删除一个参数。

extend(iterable)-此函数用于在双端队列的右端添加多个值。传递的参数是可迭代的。

extendleft(iterable)-此函数用于在双端队列的左端添加多个值。传递的参数是可迭代的。由于左侧追加,顺序颠倒了。

reverse()-此函数用于反转双端队列元素的顺序。

rotation()-该函数将双端队列旋转参数中指定的数字。如果指定的数字为负,则向左旋转。其他旋转向右。

示例

下面的程序显示了如何使用双端队列和collections模块实现上述操作。

import collections de = collections.deque([10,20,30,40]) print(de) de.append(50) print ("\nAppending at right the deque is : ") print (de) de.appendleft(60) print ("\nAppending at left the deque is : ") print (de) de.pop() print ("\nDeleting from right the deque is: ") print (de) de.popleft() print ("\nDeleting from left the deque is: ") print (de) de.extend([70,80]) print ("\nExtending deque at end is : ") print (de) de.extendleft([100,90]) print ("\nExtending deque at beginning is : ") print (de) de.rotate(-2) print ("\nRotating deque is : ") print (de) de.reverse() print ("\nReversing deque is : ") print (de)

输出结果

运行上面的代码给我们以下结果-

deque([10, 20, 30, 40]) Appending at right the deque is : deque([10, 20, 30, 40, 50]) Appending at left the deque is : deque([60, 10, 20, 30, 40, 50]) Deleting from right the deque is: deque([60, 10, 20, 30, 40]) Deleting from left the deque is: deque([10, 20, 30, 40]) Extending deque at end is : deque([10, 20, 30, 40, 70, 80]) Extending deque at beginning is : deque([90, 100, 10, 20, 30, 40, 70, 80]) Rotating deque is : deque([10, 20, 30, 40, 70, 80, 90, 100]) Reversing deque is : deque([100, 90, 80, 70, 40, 30, 20, 10])