Лічильник Python у колекціях з прикладом

Зміст:

Anonim

Що таке лічильник Python?

Лічильник Python - це контейнер, який буде містити підрахунок кожного з елементів, що є в контейнері. Лічильник - це підклас, доступний всередині класу словника.

Лічильник - це підклас, доступний всередині класу словника. Використовуючи інструмент «Лічильник Python», ви можете порахувати пари ключ-значення в об’єкті, який також називається об’єктом хеш-таблиці.

Навіщо використовувати лічильник Python?

Ось основні причини використання лічильника Python 3:

  • Лічильник зберігає дані у невпорядкованій колекції, подібно до об'єктів, що хеш-таблиці. Елементи тут представляють ключі та відлік як значення.
  • Це дозволяє підрахувати елементи у списку, який можна повторити.
  • Арифметичні дії, такі як додавання, віднімання, перетин та об'єднання, можна легко виконувати на лічильнику.
  • Лічильник також може рахувати елементи з іншого лічильника

У цьому підручнику з Python ви дізнаєтесь:

  • Що таке лічильник Python?
  • Навіщо використовувати лічильник Python?
  • Вступ до лічильника Python
  • Лічильник із рядком
  • Лічильник зі списком
  • Лічильник зі словником
  • Лічильник з кортежем
  • Доступ, ініціалізація та оновлення лічильників
  • Видалення елемента з лічильника
  • Арифметична операція на лічильнику Python
  • Методи, доступні на лічильнику Python
  • Перепризначення рахунків у Python
  • Отримайте та встановіть кількість елементів за допомогою Counter

Вступ до лічильника Python

Лічильник Python бере вхідні дані списку, кортежу, словника, рядка, які є всі об'єктами, що піддаються ітерації, і він надасть вам результат, який буде мати кількість кожного елемента.

Синтаксис:

Counter(list)

Вважаємо, у вас є такий список:

list1 = ['x','y','z','x','x','x','y', 'z']

У списку є елементи x, y та z. Коли ви використовуєте Counter у цьому списку, він підраховуватиме, скільки разів присутній x, y та z. Вихідні дані, якщо лічильник використовується в list1, мають бути приблизно такими:

Counter({'x': 4, 'y': 2, 'z': 2})

Отже, ми маємо рахунок x як 4, y як 2 та z як 2.

Для використання Counter нам потрібно спочатку імпортувати його, як показано в наведеному нижче прикладі:

from collections import Counter

Ось простий приклад, який показує роботу модуля Counter.

from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))

Вихід:

Counter({'x': 4, 'y': 2, 'z': 2})

Лічильник із рядком

У Python все є об'єктом, а рядок теж є об'єктом. Рядок Python можна створити, просто вклавши символи в подвійні лапки. Python не підтримує тип символу. Вони розглядаються як рядки довжиною один, які також розглядаються як підрядок.

У наведеному нижче прикладі рядок передається в Counter. Він повертає формат словника з парою ключ / значення, де ключ - елемент, а значення - кількість. Він також розглядає простір як елемент і дає кількість пробілів у рядку.

Приклад:

from collections import Countermy_str = "Welcome to Guru99 Tutorials!"print(Counter(my_str))

Вихід:

Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})

Лічильник зі списком

Список - це ітерабельний об’єкт, що має свої елементи всередині квадратних дужок.

Елементи у списку, надані Лічильнику, будуть перетворені в об'єкти, що хеш-таблиці, в яких елементи стануть ключами, а значення - це кількість елементів із поданого списку.

Наприклад ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Після того, як ви дасте списку лічильник, він дасть вам підрахунок кожного елемента у списку.

from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))

Вихід:

Counter({'x': 4, 'y': 2, 'z': 2})

Лічильник зі словником

Словник має елементи як пару ключ / значення, і вони пишуться у фігурних дужках.

Після того, як словник буде переданий Лічильнику, він буде перетворений у хеш-об'єкти, в яких елементи стануть ключами, а значення будуть підраховувати елементи з даного словника.

Наприклад: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Функція Counter спробує знайти кількість кожного ключа в даному словнику.

from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))

Вихід:

Counter({'x': 4, 'y': 2, 'z': 2})

Лічильник з кортежем

Кортеж - це сукупність об'єктів, розділених комами всередині круглих дужок. Лічильник дасть вам підрахунок кожного з елементів у поданому кортежі.

Після того, як кортеж буде переданий лічильнику, він буде перетворений у хеш-об'єкт, в якому елементи стануть ключами, а значення - це кількість елементів із заданого кортежу.

from collections import Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))

Вихід:

Counter({'x': 4, 'y': 2, 'z': 2})

Доступ, ініціалізація та оновлення лічильників

Ініціалізація лічильника

Лічильник можна ініціалізувати, передавши значення рядка, список, словник або кортеж, як показано нижче:

from collections import Counterprint(Counter("Welcome to Guru99 Tutorials!")) #using stringprint(Counter(['x','y','z','x','x','x','y', 'z'])) #using listprint(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionaryprint(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple

Ви також можете ініціалізувати порожній лічильник, як показано нижче:

from collections import Counter_count = Counter()

Оновлення лічильника

Ви можете додати значення до лічильника за допомогою методу update ().

_count.update('Welcome to Guru99 Tutorials!')

Остаточний код:

from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print(_count)

Результат:

Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})

Доступ до лічильника

Щоб отримати значення з лічильника, ви можете зробити наступне:

from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print('%s : %d' % ('u', _count['u']))print('\n')for char in 'Guru':print('%s : %d' % (char, _count[char]))

Вихід:

u : 3G : 1u : 3r : 2u : 3

Видалення елемента з лічильника

Щоб видалити елемент із Counter, ви можете скористатися del, як показано в прикладі нижче:

Приклад:

from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))

Вихід:

Counter({'y': 2, 'z': 2})

Арифметична операція на лічильнику Python

Арифметичні дії, такі як додавання, віднімання, перетин та об'єднання, можна виконати на лічильнику, як показано в прикладі нижче:

Приклад:

from collections import Countercounter1 = Counter({'x': 4, 'y': 2, 'z': -2})counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })#Additioncounter3 = counter1 + counter2 # only the values that are positive will be returned.print(counter3)#Subtractioncounter4 = counter1 - counter2 # all -ve numbers are excluded.For example z will be z = -2-4=-6, since it is -ve value it is not shown in the outputprint(counter4)#Intersectioncounter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2print(counter5)#Unioncounter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2print(counter6)

Вихід:

Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})

Методи, доступні на лічильнику Python

Існує кілька важливих методів, доступних у Counter, ось список таких самих:

  • elements () : Цей метод поверне вам усі елементи з рахунком> 0. Елементи з рахунком 0 або -1 не повертаються.
  • most_common (значення): Цей метод поверне вам найпоширеніші елементи зі списку Counter.
  • віднімання (): Цей метод використовується для вирахування елементів з іншого лічильника.
  • update (): Цей метод використовується для оновлення елементів з іншого лічильника.

Приклад: elements ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})_elements = counter1.elements() # will give you all elements with positive value and count>0for a in _elements:print(a)

Вихід:

xxxxxyy

Приклад: most_common (значення)

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})common_element = counter1.most_common(2) # The dictionary will be sorted as per the most common element first followed by next.print(common_element)common_element1 = counter1.most_common() # if the value is not given to most_common , it will sort the dictionary and give the most common elements from the start.The last element will be the least common element.print(common_element1)

Вихід:

[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]

Приклад: віднімання ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.subtract(counter2)print(counter1)

Вихід:

Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})

Приклад: update ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.update(counter2)print(counter1)

Вихід:

Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})

Перепризначення рахунків у Python

Ви можете повторно призначити кількість лічильників, як показано нижче:

Вважайте, що у вас є словник як: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}

Ви можете змінити кількість елементів, як показано нижче:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)

Результат: Після виконання ви побачите, що кількість y змінено з 12 на 20

Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})

Отримайте та встановіть кількість елементів за допомогою Counter

Щоб отримати підрахунок елемента за допомогою Counter, ви можете зробити наступне:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y']) # this will give you the count of element 'y'

Вихід:

12

Щоб встановити кількість елементів, ви можете зробити наступне:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)

Вихід:

12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})

Короткий зміст:

  • Лічильник - це контейнер, який буде містити підрахунок кожного з елементів, що є в контейнері.
  • Counter - це підклас, доступний всередині класу словника.
  • Використовуючи інструмент «Лічильник Python», ви можете порахувати пари ключ-значення в об’єкті, який також називається об’єктом хеш-таблиці.
  • Лічильник зберігає дані у невпорядкованій колекції, подібно до об'єктів, що хеш-таблиці. Елементи тут представляють ключі та відлік як значення.
  • Це дозволяє підрахувати елементи у списку, який можна повторити.
  • Арифметичні дії, такі як додавання, віднімання, перетин та об'єднання, можна легко виконувати на лічильнику.
  • Лічильник також може рахувати елементи з іншого лічильника.
  • Важливими методами, доступними на лічильнику, є елементи (), most_common (значення), віднімання () та update ().
  • Лічильник можна використовувати для рядка, списку, словника та кортежу.