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

Надежный VDS
1 Просмотры
Поддержите сайт и поделитесь материалом в соц.сетях:

Издатель
Поговорим о коллекциях, что лежат в одноименном модуле и могут нам пригодиться для специфических задач

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

Почитать про это все:
https://docs.python.org/3/library/collections.html?#module-collections

#Python #PythonRussian #PyCharm #Питон #Программирование
Что нужно знать о библиотеке collections в Python библиотека пайтон Python модуль библиотеки
Категория
Other
Комментариев нет.
Kwork.ru - услуги фрилансеров от 500 руб.