Creating stacks or queues with deque objects

In [1]:
a = [2, 4, 6, 8]
a.append(10)
a
Out[1]:
[2, 4, 6, 8, 10]
In [2]:
a = [1, 3, 5, 7]
[0] + a
Out[2]:
[0, 1, 3, 5, 7]
In [3]:
a = [1, 3, 5, 7]
a.pop()
Out[3]:
7
In [4]:
a
Out[4]:
[1, 3, 5]
In [5]:
from collections import deque
In [6]:
a = deque('ecruo')
In [7]:
a.append('s')
a
Out[7]:
deque(['e', 'c', 'r', 'u', 'o', 's'])
In [8]:
a.appendleft('3')
a
Out[8]:
deque(['3', 'e', 'c', 'r', 'u', 'o', 's'])
In [9]:
a.pop()
Out[9]:
's'
In [10]:
a
Out[10]:
deque(['3', 'e', 'c', 'r', 'u', 'o'])
In [11]:
a.popleft()
Out[11]:
'3'
In [12]:
a
Out[12]:
deque(['e', 'c', 'r', 'u', 'o'])
In [13]:
a[0]
Out[13]:
'e'
In [14]:
a
Out[14]:
deque(['e', 'c', 'r', 'u', 'o'])
In [15]:
a.rotate(2)
In [16]:
a
Out[16]:
deque(['u', 'o', 'e', 'c', 'r'])