Все о модуле Collections в Python
Основы работы с модулем Collections в Python
Как мы все знаем, в Python есть свои собственные типы данных-герои – List, Tuple, Dictionary и печально известные Sets. Но вместе с этим, Лига Справедливости Python имеет своего Супермена – по имени Collections. В этой статье мы погрузимся в мир коллекций и поймем области применения и преимущества.
![Collections](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*ijDCj1PWi0p9Q5Ow4hwl6Q.png)
Модуль collections в Python реализует набор специализированных контейнерных типов данных, предоставляя альтернативы встроенным типам данных в Python, таким как list, tuple, set и dictionary.
Давайте поймем важность каждой функциональности в модуле collections.
namedTuple
это модуль в collections, который предоставляет нам простой способ создания класса для хранения структурированных данных без определения полноценного класса. Вместо доступа к Tuple с помощью индексов они преобразуются в класс, и мы можем получить к ним доступ на основе имен каждого идентификатора, а не индексов.
- 10 Лучших инструментов для управления паролями (октябрь 2023)
- Эффективные стратегии для решения проблем инициализации K-Means
- Speechify Review Ультимативное приложение для преобразования текста в речь в 2023 году?
![namedTuple](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*Y-_FpiphgUuRjp3FxULDpg.png)
В приведенном выше примере, на строке 2 мы создаем namedTuple с именем – Employee, который содержит имя, идентификатор и возраст сотрудника. Это создаст переменную класса, которую можно использовать для хранения записей о сотрудниках.
![namedTuple — 2](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*qWuoTAJlVLrEhD4Os3V9qA.png)
namedTuple можно также использовать с помощью индексов, как показано на строке 3. Они могут быть легко преобразованы в словарь и также поддерживают распаковку Tuple.
Counter
Counter, как следует из названия, используется для подсчета вхождений элементов в коллекции – список, кортежи и строки. Он возвращает словарь, в котором ключ – это элемент, а значение – количество вхождений определенного элемента.
![Counter](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*JlNRGp6L3wmhCtlOc8tc7Q.png)
Как показано в примере, Counter возвращает количество вхождений каждого элемента в списке в формате словаря. Метод most_common(k) класса Counter возвращает k наиболее повторяющихся вхождений. Мы также можем выполнять операции сложения, вычитания, пересечения и объединения Counter.
deque
обычно называемый очередью, является сокращенной формой двусторонней очереди. Он служит оптимизированным списком для выполнения вставки и удаления элементов с обоих концов с легкостью и сложностью O(1).
![deque](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*gStMJIGYZvARtrcGtxkTlw.png)
Как показано выше, элементы могут быть легко добавлены на обеих концах с помощью методов append и append-left.
![deque — 2](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*P5Yr6m6WufGMb5fly2OCcQ.png)
подобно списку, deque предоставляет операции reverse, rotate и методы pop, pop left для удаления элементов с обоих концов.
ChainMap
используется для объединения нескольких словарей в одно представление без копирования данных. Как следует из названия, отображения (словари) организованы в цепочку, и мы можем получить доступ и искать их в том же порядке. Если ключ существует в обоих словарях, то последний словарь в цепочке всегда имеет приоритет.
![ChainMap](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*Wa-_uaSdrUvsNY7LfYsyKA.png)
defaultdict
используется, когда мы хотим создать словарь со значениями по умолчанию для отсутствующих ключей. Разница между обычным словарем и defaultdict заключается в том, что при использовании defaultdict и попытке доступа к отсутствующему ключу вместо возникновения ошибки KeyError он вернет заданное значение по умолчанию.
![со словарем](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*MfqISgjdYhkQPH4jk3GhWw.png)
![defaultdict](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*TeheUXjK9cbFvfvtKvHgkw.png)
Ordereddict
представляет собой словарь, который запоминает порядок вставки элементов. При обращении к OrderedDict он вернет элементы в порядке их вставки.
![OrderedDict](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*gqNTd6arbsFPUzNhA2Ut0g.png)
UserDict
UserDict полезен, когда мы хотим создать словарь с пользовательским поведением. Предположим, мы хотим создать словарь, в котором значения автоматически преобразуются в верхний регистр, тогда UserDict приходит на помощь.
![UserDict](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*tJpbdw9-LeeSmOYc75Texw.png)
То же самое относится к UserList и UserString.
Поделиться блокнотом Colab для кода.
Счастливого изучения…..