Модуль 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!
Перейти в телеграм, чтобы получить результаты теста





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