Вебинары Разобраться в IT Реферальная программа Тесты
Программирование Аналитика Дизайн Маркетинг Управление проектами
17 Окт 2023
2 мин
1052

Как работать с модулем collections в Python

Пройдите тест, узнайте какой профессии подходите

Узнайте, как упростить и ускорить кодирование на Python с помощью модуля collections, изучив его основные контейнеры в нашей статье.

Модуль collections в Python предоставляет специализированные контейнеры для удобства работы с данными. В этой статье мы рассмотрим основные контейнеры, которые вам могут пригодиться в повседневном программировании на Python.

namedtuple

namedtuple — это фабрика для создания классов-кортежей с именованными полями. Они похожи на обычные кортежи, но у них есть имена полей, что делает их более удобными для работы.

from collections import namedtuple

Person = namedtuple("Person", ["name", "age", "gender"])

person = Person("Alice", 30, "female")

print(person.name)  # Alice
print(person.age)   # 30

Counter

Counter — это подкласс словаря, который предназначен для подсчета количества элементов. Он принимает итерируемый объект и возвращает словарь с количеством каждого элемента.

from collections import Counter

words = ["apple", "banana", "orange", "apple", "banana", "apple"]
word_count = Counter(words)

print(word_count)  # Counter({'apple': 3, 'banana': 2, 'orange': 1})

defaultdict

defaultdict — это подкласс словаря, который используется, когда нужно предоставить значение по умолчанию для ключей, которые еще не существуют в словаре.

from collections import defaultdict

d = defaultdict(int)
d["a"] += 1
d["b"] += 2

print(d)  # defaultdict(<class 'int'>, {'a': 1, 'b': 2})

OrderedDict

OrderedDict — это подкласс словаря, который сохраняет порядок вставки элементов. В Python 3.7+ обычные словари также сохраняют порядок вставки, но OrderedDict предоставляет дополнительные методы, такие как move_to_end().

from collections import OrderedDict

d = OrderedDict()
d["apple"] = 1
d["banana"] = 2
d["orange"] = 3

print(d)  # OrderedDict([('apple', 1), ('banana', 2), ('orange', 3)])

deque

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

from collections import deque

d = deque([1, 2, 3])
d.appendleft(0)
d.append(4)

print(d)  # deque([0, 1, 2, 3, 4])

Использование модуля collections может значительно упростить ваш код и сделать его более эффективным. Не забывайте изучать и другие возможности этого модуля, чтобы стать еще более продуктивным разработчиком на Python! 😉

Добавить комментарий