logo

Python | Počítadlo objektov | prvky()

Počítadlo trieda je špeciálnym typom množiny údajov o objekte poskytovanej s zbierky modul v Pythone3. Modul Collections poskytuje používateľovi špecializované dátové typy kontajnerov, čím poskytuje alternatívu k všeobecným vstavaným modulom Pythonu, ako sú slovníky, zoznamy a n-tice.

Počítadlo je podtrieda, ktorá sa používa na počítanie hašovateľných objektov. Pri vyvolaní implicitne vytvorí hašovaciu tabuľku iterovateľného.

prvky() je jednou z funkcií triedy Counter, ktorá pri vyvolaní na objekt Counter vráti itertool všetkých známych prvkov v objekte Counter.



parametre: Neberie žiadne parametre
Typ návratu: Vráti itertool pre všetky prvky s kladným počtom v objekte Counter
Chyby a výnimky:
-> Pri priamom vytlačení vytlačí hodnotu odpadkov, pretože vráti itertool, nie konkrétny dátový kontajner.
-> Ak je počet položky už inicializovaný v objekte Counter, potom bude ignorovať položky s nulou a zápornými hodnotami.

Kód #1: Práca prvkov() na jednoduchom dátovom kontajneri

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>=> ' '>)>

>

vek ankita lokhande

>

Výkon:

g g e e e e k k s s f o r>

Môžeme tiež vytvoriť objekt triedy Counter pomocou zoznamu ako iterovateľného dátového kontajnera.

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)>

hašovanie v dátovej štruktúre

>

>

Výkon:

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]>

Kód #2: Prvky na rôznych objektoch počítadla s rôznymi dátovými kontajnermi

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>=> ' '>)>

>

>

Výkon:

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>

Kód #3: Na demonštráciu toho, aké elementy() sa vrátia, keď sú vytlačené priamo

Python3




dlho do int java

# 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())>

>

>

Výkon:

itertools.chain object at 0x037209F0>

Kód #4: Keď je počet položky v počítadle inicializovaný zápornými hodnotami alebo nulou.

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>=>' '>)>

>

>

Výkon:

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>

Poznámka: Z výstupu môžeme usúdiť, že položky s hodnotami menšími ako 1 sú vynechané elementom().

Aplikácie:
Objekt počítadla spolu s jeho funkciami sa kolektívne používajú na spracovanie obrovského množstva údajov. Vidíme, že Counter() vytvára hash-mapu pre dátový kontajner s ním vyvolaný, čo je veľmi užitočné ako pri ručnom spracovaní prvkov. Je to jeden z veľmi vysokých spracovateľských a funkčných nástrojov a dokonca dokáže fungovať aj so širokou škálou dát.