python collection 中的隊列

認識中的隊列

  在之前的認知裏,隊列是先進先出,就是一頭進,一頭出,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)
相關文章
相關標籤/搜索