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

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