Класс Counter в Python

Класс Counter из модуля collections в Python используется для подсчета элементов в итерируемой последовательности. Он создает словарь, в котором ключами являются элементы последовательности, а значениями - количество их вхождений.

Создание объекта Counter

Объект Counter можно создать, передав в конструктор итерируемую последовательность:

Класс Counter в Python, image #1

После создания объекта Counter можно получить количество вхождений элемента с помощью []:

Класс Counter в Python, image #2

Объект Counter может быть изменен с помощью методаupdate(), который принимает итерируемые объекты:

Класс Counter в Python, image #3

Так же можно изменить какой-то отдельный элемент:

Класс Counter в Python, image #4

Стоит отметить, что элементы в счетчике расположены в отсортированном виде в порядке убывания значений:

Класс Counter в Python, image #5

Основные методы класса Counter

  • total(): Возвращает сумму значений элементов.
  • elements(): Возвращает итератор по элементам, встречающимся в последовательности.
  • keys(): Возвращает итератор по ключам (элементам) словаря.
  • values(): Возвращает итератор по значениям (количеству вхождений) словаря.
  • items(): Возвращает итератор по парам ключ-значение словаря.
  • most_common(n): Возвращает список n наиболее часто встречающихся элементов в порядке убывания.
  • subtract(iterable): Вычитает количество вхождений элементов из другого итерируемого объекта.
  • update(iterable): Добавляет или увеличивает количество вхождений элементов из другого итерируемого объекта.

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

Следующий пример показывает, как использовать класс Counter для подсчета слов в тексте:

Класс Counter в Python, image #6

Выведет:

Класс Counter в Python, image #7

Сравнение с обычным словарем

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

  • Более удобные методы для подсчета и доступа к элементам.
  • Автоматическое создание словаря с нулевыми значениями для отсутствующих элементов.
  • Поддержка операций вычитания и обновления.

Заключение

Класс Counter в Python является мощным инструментом для подсчета элементов в итерируемых последовательностях. Он предоставляет удобные методы для доступа к данным и выполнения различных операций, связанных с подсчетом.

13 views·1 share