34 lines
922 B
Markdown
34 lines
922 B
Markdown
---
|
|
title: Deque
|
|
---
|
|
## Using List as Queues
|
|
|
|
It is also possible to use a list as a queue, where a FIFO ("first-in, first-out") operation is needed. Lists are not efficient
|
|
as queue while using appends and pops, as it can get slow as all elements will have to be shifted by one for each appends / pops.
|
|
|
|
To implement a queue, use collections.deque which was designed to have fast appends and pops from both ends.
|
|
|
|
|
|
#### Example Usage
|
|
```py
|
|
|
|
from collections import deque
|
|
queue = deque(["January", "February", "March", "April"] )
|
|
|
|
queue.append("May")
|
|
|
|
queue.popleft()
|
|
queue.popleft()
|
|
|
|
print "Spring months in the list: ", queue
|
|
```
|
|
|
|
#### Output
|
|
```
|
|
Spring months in the list: deque(['March', 'April', 'May'])
|
|
```
|
|
|
|
#### More Information:
|
|
The official documentation for `collections.deque` can be found <a href='https://docs.python.org/3/library/collections.html#collections.deque' target='_blank' rel='nofollow'>here</a>
|
|
|