Python - 雙端佇列 (Deque)
在 Python 中,雙端佇列 (deque) 是一種類似於棧和佇列的資料結構。它允許在佇列的兩端進行新增和彈出操作,這使其區別於其他資料結構。下面列出了適用於雙端佇列的各種操作。在本文中,我們將看到每個操作的示例。 `collections` 模組用於實現雙端佇列。
雙端佇列操作
以下是使用雙端佇列執行的一些常用操作
append() − 此函式用於將引數中的值插入到雙端佇列的右側。
appendleft() − 此函式用於將引數中的值插入到雙端佇列的左側。
pop() − 此函式用於從雙端佇列的右側刪除一個元素。
popleft() − 此函式用於從雙端佇列的左側刪除一個元素。
extend(iterable) − 此函式用於在雙端佇列的右側新增多個值。傳遞的引數是可迭代物件。
extendleft(iterable) − 此函式用於在雙端佇列的左側新增多個值。傳遞的引數是可迭代物件。由於左側新增,順序會反轉。
reverse() − 此函式用於反轉雙端佇列元素的順序。
rotate() − 此函式根據引數中指定的數字旋轉雙端佇列。如果指定的數字為負數,則向左旋轉;否則向右旋轉。
示例
下面的程式演示瞭如何使用雙端佇列和 `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])
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP