在之前的認知裏,隊列是先進先出,就是一頭進,一頭出,Queue。而無心間看到了deque 雙向隊列。app
即從該隊列的頭或者尾部都能插入和移除元素。而起時間複雜度居然是同樣的!O(1),是否是想起了和列表spa
有點像,但列表從尾部和頭部刪除或插入的時間複雜度可差異很大的。但仍是有點相像。code
rom collections import deque #實例化一個deque隊列 d=deque() #list list_obj = list() print(d) #從右邊插入數據 d.append("yang") list_obj.append("yang") #add one record from left d.appendleft("zhang") print(d) # for item in d: print(item) #the len print("the len of duque is {}".format(len(d))) #pop one from right d.pop() print(d) d.append("yang") #pop item from left d.popleft() d.appendleft("zhang") #雙向隊列中元素"zhang"的個數 print(d.count("zhang")) #隊列d右邊擴展多個元素 d.extend("test") # d.extendleft("left") #默認向右旋轉,步長爲1, 若是步長爲-1則向左旋轉 d.rotate() print(d)