Рубрики
Без рубрики

Счетчик Python – счетчик коллекций Python

Счетчик Python, счетчик коллекции Python, счетчик Python Наиболее распространенные, наименее распространенные элементы, элементы Python Counter (), счетчик Python Удалить элемент, арифметические операции.

Автор оригинала: 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.