Лічильник клас — це особливий тип набору даних об’єкта, що надається разом з колекції модуль на Python3. Модуль Collections надає користувачеві спеціалізовані контейнерні типи даних, таким чином надаючи альтернативу вбудованим Python загального призначення, таким як словники, списки та кортежі.
Лічильник це підклас, який використовується для підрахунку хешованих об’єктів. Він неявно створює хеш-таблицю ітерованого під час виклику.
елементи () це одна з функцій класу Counter, яка під час виклику об’єкта Counter повертає itertool усіх відомих елементів об’єкта Counter.
Параметри: Не приймає жодних параметрів
Тип повернення: Повертає itertool для всіх елементів із додатним числом в об’єкті Counter
Помилки та винятки:
-> Він друкуватиме сміттєве значення під час безпосереднього друку, оскільки повертає itertool, а не конкретний контейнер даних.
-> Якщо підрахунок елемента вже ініціалізовано в об’єкті Counter, він ігноруватиме елементи з нульовими та від’ємними значеннями.
Код №1: Робота elements() над простим контейнером даних
Python3
# import counter class from collections module> from> collections>import> Counter> # Creation of a Counter Class object using> # string as an iterable data container> x>=> Counter(>'geeksforgeeks'>)> # printing the elements of counter object> for> i>in> x.elements():> >print> ( i, end>=> ' '>)> |
>
мультиплексор два до одного
>
Вихід:
g g e e e e k k s s f o r>
Ми також можемо створити об’єкт класу Counter, використовуючи список як ітерований контейнер даних.
Python3
# import counter class from collections module> from> collections>import> Counter> #Creating a Counter class object using list as an iterable data container> a>=> [>12>,>3>,>4>,>3>,>5>,>11>,>12>,>6>,>7>]> x>=> Counter(a)> #directly printing whole x> print>(x)> #We can also use .keys() and .values() methods to access Counter class object> for> i>in> x.keys():> >print>(i,>':'>, x[i])> > #We can also make a list of keys and values of x> x_keys>=> list>(x.keys())> x_values>=> list>(x.values())> print>(x_keys)> print>(x_values)> |
>
>
Вихід:
Counter({12: 2, 3: 2, 4: 1, 5: 1, 11: 1, 6: 1, 7: 1}) 12 : 2 3 : 2 4 : 1 5 : 1 11 : 1 6 : 1 7 : 1 [12, 3, 4, 5, 11, 6, 7] [2, 2, 1, 1, 1, 1, 1]> Код №2: Елементи на різноманітних об’єктах лічильника з різними контейнерами даних
регулярний вираз Java для
Python3
# import counter class from collections module> from> collections>import> Counter> # Creation of a Counter Class object using> # a string as an iterable data container> # Example - 1> a>=> Counter(>'geeksforgeeks'>)> # Elements of counter object> for> i>in> a.elements():> >print> ( i, end>=> ' '>)> print>()> > # Example - 2> b>=> Counter({>'geeks'> :>4>,>'for'> :>1>,> >'gfg'> :>2>,>'python'> :>3>})> for> i>in> b.elements():> >print> ( i, end>=> ' '>)> print>()> # Example - 3> c>=> Counter([>1>,>2>,>21>,>12>,>2>,>44>,>5>,> >13>,>15>,>5>,>19>,>21>,>5>])> for> i>in> c.elements():> >print> ( i, end>=> ' '>)> print>()> > # Example - 4> d>=> Counter( a>=> 2>, b>=> 3>, c>=> 6>, d>=> 1>, e>=> 5>)> for> i>in> d.elements():> >print> ( i, end>=> ' '>)> |
>
>
Вихід:
g g e e e e k k s s f o r geeks geeks geeks geeks for gfg gfg python python python 1 2 2 21 21 12 44 5 5 5 13 15 19 a a b b b c c c c c c d e e e e e>
Код №3: Щоб продемонструвати, що повертає elements() під час безпосереднього друку
Python3
# import Counter from collections> from> collections>import> Counter> # creating a raw data-set> x>=> Counter (>'geeksforgeeks'>)> # will return a itertools chain object> # which is basically a pseudo iterable container whose> # elements can be used when called with a iterable tool> print>(x.elements())> |
>
абстрактний клас java
>
Вихід:
itertools.chain object at 0x037209F0>
Код №4: Коли кількість елементів у Counter ініціалізується від’ємними значеннями або нулем.
Python3
# import Counter from collections> from> collections>import> Counter> # creating a raw data-set using keyword arguments> x>=> Counter (a>=> 2>, x>=> 3>, b>=> 3>, z>=> 1>, y>=> 5>, c>=> 0>, d>=> ->3>)> # printing out the elements> for> i>in> x.elements():> >print>(>'% s : % s'> %> (i, x[i]), end>=>'
'>)> |
>
>
Вихід:
a : 2 a : 2 x : 3 x : 3 x : 3 b : 3 b : 3 b : 3 z : 1 y : 5 y : 5 y : 5 y : 5 y : 5>
Примітка: З результату ми можемо зробити висновок, що елементи зі значеннями менше 1 пропускаються за допомогою elements().
Застосування:
Об'єкт лічильника разом із його функціями використовуються разом для обробки величезних обсягів даних. Ми бачимо, що Counter() створює хеш-карту для викликаного з ним контейнера даних, що є дуже корисним, ніж ручна обробка елементів. Це один із високоякісних інструментів обробки та функціонування, який також може працювати з широким діапазоном даних.