Модуль collections в Python отличается от стандартных типов данных тем, что предоставляет специализированные классы контейнеров. 3 Они предназначены для решения конкретных задач программирования эффективным и питоновским способом. 2
Некоторые отличия:
- namedtuple. 14 Позволяет создать тип данных, ведущий себя как кортеж, с тем дополнением, что каждому элементу («полю») присваивается имя, по которому можно в дальнейшем получать доступ к нему как к атрибуту. 4
- deque. 14 Двусторонняя очередь с быстрыми вставками и удалениями. 1
- Counter. 13 Счётчик для подсчёта хешируемых объектов. 1
- OrderedDict. 13 Словарь, который сохраняет порядок добавления элементов. 1
- defaultdict. 14 Словарь, который предоставляет значения по умолчанию для недостающих ключей. 1
Кроме того, модуль collections предоставляет ряд абстрактных классов и «классов-заготовок», на базе которых можно создавать свои собственные типы коллекций. 4