Модуль collections

Модуль collections в Python предоставляет дополнительные типы данных и функциональность над встроенными контейнерами (как списки, кортежи, словари и множества). Эти дополнительные типы данных предназначены для решения различных задач и обеспечивают более сложные структуры данных.

Вот некоторые из наиболее часто используемых классов из модуля collections:

  1. namedtuple: namedtuple создает именованные кортежи, что делает код более ясным, читаемым и самодокументирующим.

    from collections import namedtuple
    
    Point = namedtuple('Point', ['x', 'y'])
    p = Point(1, 2)
    print(p.x, p.y)
  2. defaultdict: defaultdict создает словарь с значениями по умолчанию для новых ключей.

    from collections import defaultdict
    
    d = defaultdict(int)
    d['a'] += 1  # Нет необходимости предварительно инициализировать 'a' в словаре
  3. Counter: Counter используется для подсчета элементов в последовательности.

    from collections import Counter
    
    my_list = [1, 2, 3, 1, 2, 1, 4, 2]
    count = Counter(my_list)
    print(count)
  4. deque: deque (double-ended queue) предоставляет структуру данных очереди с двумя концами.

    from collections import deque
    
    d = deque([1, 2, 3])
    d.append(4)       # Добавление в конец
    d.appendleft(0)   # Добавление в начало
  5. OrderedDict: OrderedDict - это словарь, который запоминает порядок вставки ключей.

    from collections import OrderedDict
    
    d = OrderedDict([('a', 1), ('b', 2), ('c', 3)])

Эти классы предоставляют удобные инструменты для более эффективной работы с данными в различных сценариях.

Last updated