Автор оригинала: Pankaj Kumar.
Класс счетчика Python является частью модуля коллекций. Счетчик – это подкласс словаря и используется для отслеживания элементов и их количество.
Счетчик Python
Счетчик – неупорядоченная коллекция, где элементы хранятся как Диктовать
Клавиши и их счет как ценность диктома.
Счетчик счетчиков элементов может быть положительным, нулевым или отрицательным целыми числами. Однако нет ограничений на ключей и ценности. Хотя ценности предназначены для того, чтобы быть числами, но мы можем хранить другие объекты тоже.
Создание объекта счетчика Python
Мы можем создать пустой счетчик или начать с некоторых начальных значений.
from collections import Counter # empty Counter counter = Counter() print(counter) # Counter() # Counter with initial values counter = Counter(['a', 'a', 'b']) print(counter) # Counter({'a': 2, 'b': 1}) counter = Counter(a=2, b=3, c=1) print(counter) # Counter({'b': 3, 'a': 2, 'c': 1})
Мы также можем использовать любые намеки в качестве аргумента для создания счетчика объекта. Таким образом, строковые буквальные и список также могут быть использованы для создания счетчика счетчика.
# Iterable as argument for Counter counter = Counter('abc') print(counter) # Counter({'a': 1, 'b': 1, 'c': 1}) # List as argument to Counter words_list = ['Cat', 'Dog', 'Horse', 'Dog'] counter = Counter(words_list) print(counter) # Counter({'Dog': 2, 'Cat': 1, 'Horse': 1}) # Dictionary as argument to Counter word_count_dict = {'Dog': 2, 'Cat': 1, 'Horse': 1} counter = Counter(word_count_dict) print(counter) # Counter({'Dog': 2, 'Cat': 1, 'Horse': 1})
Как я уже упоминал выше, мы можем использовать не цифровые данные для значений подсчета, но это будет дефект целью укладка.
# Counter works with non-numbers too special_counter = Counter(name='Pankaj', age=20) print(special_counter) # Counter({'name': 'Pankaj', 'age': 20})
Счетчик Python методы
Давайте посмотрим на методы Counts Class и некоторые другие операции, которые мы можем выполнять на нем.
Получение подсчета элементов
# getting count counter = Counter({'Dog': 2, 'Cat': 1, 'Horse': 1}) countDog = counter['Dog'] print(countDog) # 2
Если мы попытаемся получить количество несуществующих клавишей, он вернется 0 и не бросает KeyError
Отказ
# getting count for non existing key, don't cause KeyError print(counter['Unicorn']) # 0
Установка подсчета элементов
Мы также можем установить счет существующего элемента в счетчике. Если элемент не существует, то он добавляется в счетчик.
counter = Counter({'Dog': 2, 'Cat': 1, 'Horse': 1}) # setting count counter['Horse'] = 0 print(counter) # Counter({'Dog': 2, 'Cat': 1, 'Horse': 0}) # setting count for non-existing key, adds to Counter counter['Unicorn'] = 1 print(counter) # Counter({'Dog': 2, 'Cat': 1, 'Unicorn': 1, 'Horse': 0})
Удаление элемента от счетчика
Мы можем использовать дель
Удалить элемент из счетного объекта.
# Delete element from Counter del counter['Unicorn'] print(counter) # Counter({'Dog': 2, 'Cat': 1, 'Horse': 0})
Элементы ()
Этот метод возвращает список элементов в счетчике. Возвращаются только элементы с положительным количеством.
counter = Counter({'Dog': 2, 'Cat': -1, 'Horse': 0}) # elements() elements = counter.elements() # doesn't return elements with count 0 or less for value in elements: print(value)
Приведенный выше код будет печать «собака» два раза, потому что это число 2. Другие элементы будут игнорироваться, потому что у них нет положительного количества. Счетчик является неупорядоченной коллекцией, поэтому элементы возвращаются в отсутствие определенного порядка.
most_common (n)
Этот метод возвращает наиболее распространенные элементы с счетчика. Если мы не предоставим значение «n», то сортируемый словарь возвращается от наиболее распространенных наименее распространенных элементов. Мы можем использовать Slicing, чтобы получить наименее распространенные элементы на этом сортировке словаря.
counter = Counter({'Dog': 2, 'Cat': -1, 'Horse': 0}) # most_common() most_common_element = counter.most_common(1) print(most_common_element) # [('Dog', 2)] least_common_element = counter.most_common()[:-2:-1] print(least_common_element) # [('Cat', -1)]
Вычитание () и обновление ()
Счетчик Вычитание ()
Метод используется для вычитания элемента отсчета от другого счетчика. Обновление ()
Метод используется для добавления количества от другого счетчика.
counter = Counter('ababab') print(counter) # Counter({'a': 3, 'b': 3}) c = Counter('abc') print(c) # Counter({'a': 1, 'b': 1, 'c': 1}) # subtract counter.subtract(c) print(counter) # Counter({'a': 2, 'b': 2, 'c': -1}) # update counter.update(c) print(counter) # Counter({'a': 3, 'b': 3, 'c': 0})
Счетные арифметические операции Python
Мы также можем выполнять некоторые арифметические операции на счетчиках, как цифры. Однако только элементы с положительным количеством возвращаются с этими операциями.
# arithmetic operations c1 = Counter(a=2, b=0, c=-1) c2 = Counter(a=1, b=-1, c=2) c = c1 + c2 # return items having +ve count only print(c) # Counter({'a': 3, 'c': 1}) c = c1 - c2 # keeps only +ve count elements print(c) # Counter({'a': 1, 'b': 1}) c = c1 & c2 # intersection min(c1[x], c2[x]) print(c) # Counter({'a': 1}) c = c1 | c2 # union max(c1[x], c2[x]) print(c) # Counter({'a': 2, 'c': 2})
Разные операции на счетчике Python
Давайте посмотрим на некоторые фрагменты кода для разных операций, которые мы можем выполнять на счетных объектах.
counter = Counter({'a': 3, 'b': 3, 'c': 0}) # miscellaneous examples print(sum(counter.values())) # 6 print(list(counter)) # ['a', 'b', 'c'] print(set(counter)) # {'a', 'b', 'c'} print(dict(counter)) # {'a': 3, 'b': 3, 'c': 0} print(counter.items()) # dict_items([('a', 3), ('b', 3), ('c', 0)]) # remove 0 or negative count elements counter = Counter(a=2, b=3, c=-1, d=0) counter = +counter print(counter) # Counter({'b': 3, 'a': 2}) # clear all elements counter.clear() print(counter) # Counter()
Это все для класса счетчиков Python.
Ссылка: Python Docs.