collections.deque()簡介


collections模塊 ==> Python標准庫,數據結構用的模塊;collections包含了一些特殊的容器,針對Python內置的容器,例如list、dict、set和tuple,提供了另一種選擇。

 

collections.deque():

deque是棧和隊列的一種廣義實現,deque是"double-end queue"的簡稱;deque支持線程安全、有效內存地以近似O(1)的性能在deque的兩端插入和刪除元素,盡管list也支持相似的操作,但是它主要在固定長度操作上的優化,從而在pop(0)和insert(0,v)(會改變數據的位置和大小)上有O(n)的時間復雜度。

 

常用方法包含如下:

1、append():

從右端添加元素,與list相同

 

 2、appendleft():

從左端添加元素

 

 3、extend():

從右端逐個添加可迭代對象,與list相同,Python中的可迭代對象有:列表、元組、字典、字符串

 4、extendleft():

從左端逐個添加可迭代對象,Python中的可迭代對象有:列表、元組、字典、字符串

 

 5、pop():

移除列表中的一個元素(默認最右端的一個元素),並且返回該元素的值(與list同),如果沒有元素,將會報出IndexError

6.popleft():

移除列表中的一個元素(默認最左端的一個元素),並且返回該元素的值,如果沒有元素,將會報出IndexError

 

 7、count():

統計隊列中的元素個數(與list同

8、insert(index,obj):

在指定位置插入元素(list同)

9、rotate(n):

rotate(n), 從右側反轉n步,如果n為負數,則從左側反轉。
d.rotate(1) 等於 d.appendleft(d.pop())

10、maxlen:

只讀的屬性,deque限定的最大長度,如果無,就返回None。
當限制長度的deque增加超過限制數的項時, 另一邊的項會自動刪除。

11、remove():

移除第一次出現的元素,如果沒有找到,報出ValueError

 

 12、clear()

將deque中的元素全部刪除,最后長度為0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM