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

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

Изучите модуль collections в Python с примерами использования namedtuple, Counter, defaultdict и deque для улучшения структуры данных и производительности.

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

namedtuple

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

Пример использования namedtuple:

from collections import namedtuple

# Определение namedtuple
Person = namedtuple("Person", ["name", "age", "city"])

# Создание объекта namedtuple
person1 = Person("John", 30, "New York")

# Доступ к полям namedtuple
print(person1.name)  # Output: John
print(person1.age)   # Output: 30
print(person1.city)  # Output: New York

Counter

Counter — это контейнер, который подсчитывает количество вхождений элементов. Он является подклассом словаря.

Пример использования Counter:

from collections import Counter

# Создание объекта Counter
counter = Counter(["apple", "banana", "apple", "orange", "banana", "apple"])

# Вывод количества вхождений элементов
print(counter)  # Output: Counter({'apple': 3, 'banana': 2, 'orange': 1})

defaultdict

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

Пример использования defaultdict:

from collections import defaultdict

# Создание объекта defaultdict
words = defaultdict(int)

# Добавление элементов и их подсчет
for word in ["apple", "banana", "apple", "orange", "banana", "apple"]:
    words[word] += 1

print(words)  # Output: defaultdict(<class 'int'>, {'apple': 3, 'banana': 2, 'orange': 1})

deque

deque (двусторонняя очередь) — это контейнер с быстрым добавлением и удалением элементов с обеих сторон.

Пример использования deque:

from collections import deque

# Создание объекта deque
queue = deque(["apple", "banana", "orange"])

# Добавление элемента в начало
queue.appendleft("kiwi")
print(queue)  # Output: deque(['kiwi', 'apple', 'banana', 'orange'])

# Удаление элемента с конца
queue.pop()
print(queue)  # Output: deque(['kiwi', 'apple', 'banana'])

😉 Теперь вы знаете, как работать с модулем collections в Python и можете использовать его в своих проектах для улучшения структуры данных и повышения производительности. Всегда рады помочь вам в изучении Python!

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

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