Какие знаешь структуры данных из модуля collections в Python
Python
Senior
Билайн
Какие знаешь структуры данных из модуля collections в Python
Ответы
Модуль `collections` предоставляет специализированные контейнерные типы, альтернативные встроенным (`list`, `dict`, `tuple`). Основные структуры:
- `namedtuple`: кортеж с именованными полями. Удобен для создания простых классов.
```
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, 2)
print(p.x) # 1
```
- `deque`: двусторонняя очередь с быстрыми операциями добавления/удаления с обоих концов.
```
from collections import deque
d = deque([1, 2, 3])
d.appendleft(0) # [0, 1, 2, 3]
```
- `Counter`: подсчёт хешируемых объектов.
```
from collections import Counter
c = Counter('abracadabra')
print(c['a']) # 5
```
- `defaultdict`: словарь с заводской функцией для отсутствующих ключей.
```
from collections import defaultdict
dd = defaultdict(int)
print(dd['missing']) # 0
```
- `OrderedDict` (до Python 3.7): сохраняет порядок добавления элементов (теперь это поведение встроенного `dict`).