python中deque類詳解


最近在pythonTip做題的時候,遇到了deque類,以前對其不太了解,現在特此總結一下

deque類是python標准庫collections模塊中的一項,它提供了兩端都可以操作的序列,這意味着,在序列的前后你都可以執行添加或刪除操作。

1.創建deque序列:

from collections import deque

d=deque()

2.deque提供了類似list的操作方法:

d=deque()

d.append(3)

d.append(8)

d.append(1)

那么此時d=deque([3,8,1]),len(d)=3,d[0]=3,d[-1]=1

3.兩端都使用pop:

d=deque(‘12345’)

那么d=deque(['1', '2', '3', '4', '5'])

d.pop()拋出的是’5’,d.leftpop()拋出的是’1’,可見默認pop()拋出的是最后一個元素。

4.限制deque的長度

d=deque(maxlen=20)

for i in range(30):

    d.append(str(i))

此時d的值為d=deque(['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29'], maxlen=20),可見當限制長度的deque增加超過限制數的項時,另一邊的項會自動刪除。

5.添加list各項到deque中:

d=deque([1,2,3,4,5])

d.extend([0])

那么此時d=deque([1,2,3,4,5,0])

d.extendleft([6,7,8])

此時d=deque([8, 7, 6, 1, 2, 3, 4, 5, 0])

 

通過以上的一些操作,我們大致可以了解deque()的性質了。

轉載自:https://blog.csdn.net/qins_superlover/article/details/44338415


免責聲明!

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



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