一、簡介
Deque,即「double-ended queue」的縮寫,是一種具有隊列和棧的性質的數據結構。而Python中的deque則是一個雙向隊列,其可以在隊列的兩端進行數據的插入與刪除操作。deque是多線程安全的,同時可以避免一個線程在訪問deque的時候,另一個線程的干擾。
二、創建Deque
我們可以通過使用Python標準庫中的collections
模塊來創建Deque。
from collections import deque
# 創建Deque
d = deque()
print(d)
我們也可以同時將元素傳入到deque()方法中,以初始化Deque。
# 創建Deque並初始化
d = deque([1, 2, 3])
print(d)
三、向Deque中添加元素
向Deque中添加元素可以使用append()
和appendleft()
方法,分別用於向deque()的末尾和起始位置添加元素。
from collections import deque
d = deque([1, 2, 3])
print(d)
# 在末尾添加元素
d.append(4)
print(d)
# 在起始位置添加元素
d.appendleft(0)
print(d)
我們也可以使用extend()
和extendleft()
方法,向deque()中批量添加元素。
from collections import deque
d = deque([1, 2, 3])
print(d)
# 批量在末尾添加元素
d.extend([4, 5, 6])
print(d)
# 批量在起始位置添加元素
d.extendleft([-1, 0])
print(d)
四、從Deque中刪除元素
從Deque中刪除元素可以使用pop()
和popleft()
方法,分別從deque()的末尾和起始位置刪除元素。
from collections import deque
d = deque([1, 2, 3])
print(d)
# 從末尾刪除元素
d.pop()
print(d)
# 從起始位置刪除元素
d.popleft()
print(d)
五、訪問Deque中的元素
可以使用下標方式[]
來訪問Deque中的元素,下標從0開始。同時,還可以使用rotate()
方法,將Deque中的元素向左或向右輪換指定長度。
from collections import deque
d = deque([1, 2, 3, 4, 5])
print(d)
# 通過下標訪問元素
print(d[0])
# 向左輪換1個長度
d.rotate(-1)
print(d)
# 向右輪換2個長度
d.rotate(2)
print(d)
六、總結
Python中的Deque可以高效地進行數據增刪操作,同時還支持多線程操作。以上就是關於Python中Deque的用法和實例,包括創建Deque、向Deque中添加和刪除元素以及訪問Deque等操作的詳細介紹。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245402.html