collections.deque()

1784 ワード

「python-for-data-analysis」の中国語版を勉強するとき、listに要素を挿入する中でcollectionsに遭遇した.deque、これまで使ったことがありませんが、この記録があります.
dequeは両端appendのデータを頻繁に使用する場合は、このデータ構造を選択するとよいが、ランダムアクセスを実現するには、これを推奨しない場合は、リストを使用する.dequeの利点は、両側のappend、appendleftデータから得ることである.この点listはありません.
import collections
d = collections.deque([])
d.append('a') #           ,   d=deque('a')
d.appendleft('b') #           ,   d=deque(['b', 'a'])
d.extend(['c','d']) #           ,   d=deque(['b', 'a', 'c', 'd'])
d.extendleft(['e','f']) #           ,   d=deque(['f', 'e', 'b', 'a', 'c', 'd'])
d.pop() #          ,   'd',   d=deque(['f', 'e', 'b', 'a', 'c'])
d.popleft() #          ,   'f',   d=deque(['e', 'b', 'a', 'c'])
d.rotate(-2) #         (       ),   d=deque(['a', 'c', 'e', 'b'])
d.count('a') #    'a'   ,   1
d.remove('c') #      'c'  ,   d=deque(['a', 'e', 'b'])
d.reverse() #      ,   d=deque(['b', 'e', 'a'])
f=d.copy()
print(f)#deque(['b', 'e', 'a'])
f.clear()
print(f)#deque([])

#         ,             ,        。
e=collections.deque(maxlen=5)
e.extend([1,2,3,4,5])
e.append("a")
print(e)
#deque([2, 3, 4, 5, 'a'], maxlen=5)
e.appendleft("b")
print(e)
#deque(['b', 2, 3, 4, 5], maxlen=5)
e.extendleft(["c","d"])
print(e)
#deque(['d', 'c', 'b', 2, 3], maxlen=5)

参照先:https://blog.csdn.net/liangguohuan/article/details/7088265
以上、本人の学習過程を記録します.