Source: Deque - двухсторонние очереди
← Renderedmarkdown 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 и полезные ресурсы"