Source: Deque - двухсторонние очереди

← Rendered

markdown source:

---
description: collection.deque в стандартной библиотеке python
tags: python-standart-library queue python
title: Deque - двухсторонние очереди
---
Возвращает объект, поддерживающий добавление слева и справа. а так-же пролистывание. Потокобезопасное добавление/удаление с обоих концов со сложностью O(1)

```python
import collections

d = collections.deque('abcdefg')

# to the right
d.append('h')

# to the left
d2.appendleft('h')

# right rotation
d.rotate(2)

# left rotation
d.rotate(-2)
```

При ротации объекты переносятся с одного конца на другой.

Есть возможность ограничить длину очереди, задав maxlen

```python
d = collections.deque(maxlen=3)
d.append('a')
d.append('b')
d.append('c')
d.append('c')
print(d)
>>> deque(['b', 'c', 'd'], maxlen=3)
```

[Доступные методы в документации](https://docs.python.org/3/library/collections.html#deque-objects)

[Примеры реализации](https://docs.python.org/3/library/collections.html#deque-recipes)

[[python-standart-library]]


[python-standart-library]: ../lists/python-standart-library "Стандартная библиотека python и полезные ресурсы"