Python Deque双端队列操作方法

在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])