Все о модуле Collections в Python

Основы работы с модулем Collections в Python

Как мы все знаем, в Python есть свои собственные типы данных-герои – List, Tuple, Dictionary и печально известные Sets. Но вместе с этим, Лига Справедливости Python имеет своего Супермена – по имени Collections. В этой статье мы погрузимся в мир коллекций и поймем области применения и преимущества.

Collections

Модуль collections в Python реализует набор специализированных контейнерных типов данных, предоставляя альтернативы встроенным типам данных в Python, таким как list, tuple, set и dictionary.

Давайте поймем важность каждой функциональности в модуле collections.

namedTuple

это модуль в collections, который предоставляет нам простой способ создания класса для хранения структурированных данных без определения полноценного класса. Вместо доступа к Tuple с помощью индексов они преобразуются в класс, и мы можем получить к ним доступ на основе имен каждого идентификатора, а не индексов.

namedTuple

В приведенном выше примере, на строке 2 мы создаем namedTuple с именем – Employee, который содержит имя, идентификатор и возраст сотрудника. Это создаст переменную класса, которую можно использовать для хранения записей о сотрудниках.

namedTuple — 2

namedTuple можно также использовать с помощью индексов, как показано на строке 3. Они могут быть легко преобразованы в словарь и также поддерживают распаковку Tuple.

Counter

Counter, как следует из названия, используется для подсчета вхождений элементов в коллекции – список, кортежи и строки. Он возвращает словарь, в котором ключ – это элемент, а значение – количество вхождений определенного элемента.

Counter

Как показано в примере, Counter возвращает количество вхождений каждого элемента в списке в формате словаря. Метод most_common(k) класса Counter возвращает k наиболее повторяющихся вхождений. Мы также можем выполнять операции сложения, вычитания, пересечения и объединения Counter.

deque

обычно называемый очередью, является сокращенной формой двусторонней очереди. Он служит оптимизированным списком для выполнения вставки и удаления элементов с обоих концов с легкостью и сложностью O(1).

deque

Как показано выше, элементы могут быть легко добавлены на обеих концах с помощью методов append и append-left.

deque — 2

подобно списку, deque предоставляет операции reverse, rotate и методы pop, pop left для удаления элементов с обоих концов.

ChainMap

используется для объединения нескольких словарей в одно представление без копирования данных. Как следует из названия, отображения (словари) организованы в цепочку, и мы можем получить доступ и искать их в том же порядке. Если ключ существует в обоих словарях, то последний словарь в цепочке всегда имеет приоритет.

ChainMap

defaultdict

используется, когда мы хотим создать словарь со значениями по умолчанию для отсутствующих ключей. Разница между обычным словарем и defaultdict заключается в том, что при использовании defaultdict и попытке доступа к отсутствующему ключу вместо возникновения ошибки KeyError он вернет заданное значение по умолчанию.

со словарем
defaultdict

Ordereddict

представляет собой словарь, который запоминает порядок вставки элементов. При обращении к OrderedDict он вернет элементы в порядке их вставки.

OrderedDict

UserDict

UserDict полезен, когда мы хотим создать словарь с пользовательским поведением. Предположим, мы хотим создать словарь, в котором значения автоматически преобразуются в верхний регистр, тогда UserDict приходит на помощь.

UserDict

То же самое относится к UserList и UserString.

Поделиться блокнотом Colab для кода.

Счастливого изучения…..