Что нужно знать о библиотеке collections в Python

Аватар автора
Python Russian
Поговорим о коллекциях, что лежат в одноименном модуле и могут нам пригодиться для специфических задач 1) OrderedDict - упорядоченный словарь, несмотря на мнение многих, он все еще актуален, оптимизирован для работы с порядком элементов в словаре. Позволяет доставать пары как с конца так и с начала словаря, переставлять пары в конец или начало словаря. При сравнении учитывает порядок элементов, а не только их равенство. За все это платит большим потреблением памяти. 2) ChainMap нужен для логического объединения словарей для поиска информации, физического копирования словарей не происходит и если изменить один из исходников, то изменении отобразится и в chainMap. Удобен для поиска информации, но при изменениях меняется первый словарь в наборе. 3) Counter - удобный инструмент для подсчета элементов в последовательности, считает только с hashable типы (строки, числа, кортежи). 4) defaultdict нужен для создания словаря со значением по умолчанию. Значение подставляется при обращении к несуществующему ключу, что позволяет не писать лишней логики. В остальном аналогичен обычному словарю. 5) deque - двунаправленная очередь, быстро вставляет элементы как в конец, так и начало, быстро достает с обоих концов. Она потокобезопасна (thread-safe) и может быть использована для многопоточных операций, позволяет задать максимальный размер. 6) namedtuple нужен для создания структуры данных, нечто среднее между стандартными типами и самописным классом. Пригодится когда отдельный класс...

0/0


0/0

0/0

0/0