In [1]:
from collections import deque

In [2]:
d = deque()
print(d)


deque([])

In [3]:
print(type(d))


<class 'collections.deque'>

In [4]:
d = deque(['m', 'n'])
print(d)


deque(['m', 'n'])

In [5]:
d.append('o')
print(d)


deque(['m', 'n', 'o'])

In [6]:
d.appendleft('l')
print(d)


deque(['l', 'm', 'n', 'o'])

In [7]:
d.extend(['p', 'q'])
print(d)


deque(['l', 'm', 'n', 'o', 'p', 'q'])

In [8]:
d.extendleft(['k', 'j'])
print(d)


deque(['j', 'k', 'l', 'm', 'n', 'o', 'p', 'q'])

In [9]:
d.insert(3, 'XXX')
print(d)


deque(['j', 'k', 'l', 'XXX', 'm', 'n', 'o', 'p', 'q'])

In [10]:
d.insert(-1, 'YYY')
print(d)


deque(['j', 'k', 'l', 'XXX', 'm', 'n', 'o', 'p', 'YYY', 'q'])

In [11]:
d.insert(100, 'ZZZ')
print(d)


deque(['j', 'k', 'l', 'XXX', 'm', 'n', 'o', 'p', 'YYY', 'q', 'ZZZ'])

In [12]:
d.insert(-100, 'XYZ')
print(d)


deque(['XYZ', 'j', 'k', 'l', 'XXX', 'm', 'n', 'o', 'p', 'YYY', 'q', 'ZZZ'])

In [13]:
d = deque(['a', 'b', 'c', 'b', 'd'])
print(d)


deque(['a', 'b', 'c', 'b', 'd'])

In [14]:
print(d.pop())


d

In [15]:
print(d)


deque(['a', 'b', 'c', 'b'])

In [16]:
print(d.popleft())


a

In [17]:
print(d)


deque(['b', 'c', 'b'])

In [18]:
d.remove('b')
print(d)


deque(['c', 'b'])

In [19]:
# d.remove('X')
# ValueError: deque.remove(x): x not in deque

In [20]:
d.clear()
print(d)


deque([])

In [21]:
# d.pop()
# IndexError: pop from an empty deque

In [22]:
# d.popleft()
# IndexError: pop from an empty deque

In [23]:
d.clear()
print(d)


deque([])

In [24]:
d = deque(['a', 'b', 'c', 'd', 'e'])
print(d)


deque(['a', 'b', 'c', 'd', 'e'])

In [25]:
d.rotate()
print(d)


deque(['e', 'a', 'b', 'c', 'd'])

In [26]:
d = deque(['a', 'b', 'c', 'd', 'e'])
d.rotate(2)
print(d)


deque(['d', 'e', 'a', 'b', 'c'])

In [27]:
d = deque(['a', 'b', 'c', 'd', 'e'])
d.rotate(-1)
print(d)


deque(['b', 'c', 'd', 'e', 'a'])

In [28]:
d = deque(['a', 'b', 'c', 'd', 'e'])
d.rotate(6)
print(d)


deque(['e', 'a', 'b', 'c', 'd'])

In [29]:
d = deque(['a', 'b', 'c', 'c', 'd'])
print(d[0])


a

In [30]:
print(d[-1])


d

In [31]:
d[2] = 'X'
print(d)


deque(['a', 'b', 'X', 'c', 'd'])

In [32]:
# print(d[2:4])
# TypeError: sequence index must be integer, not 'slice'

In [33]:
print(d.index('c'))


3

In [34]:
# print(d.index('x'))
# ValueError: 'x' is not in deque

In [35]:
d = deque(['a', 'a', 'b', 'c'])

In [36]:
print(len(d))


4

In [37]:
print(d.count('a'))


2

In [38]:
print(d.count('x'))


0

In [39]:
print('b' in d)


True

In [40]:
print('x' in d)


False

In [41]:
d = deque(['a', 'b', 'c', 'd', 'e'])
d.reverse()
print(d)


deque(['e', 'd', 'c', 'b', 'a'])

In [42]:
d = deque(['a', 'b', 'c', 'd', 'e'])
print(deque(reversed(d)))


deque(['e', 'd', 'c', 'b', 'a'])

In [43]:
d = deque(['a', 'b', 'c'])

for v in d:
    print(v)


a
b
c

In [44]:
d = deque(['a', 'b', 'c'])

l = list(d)
print(l)


['a', 'b', 'c']

In [45]:
print(type(l))


<class 'list'>