logo

Python | Počítadlo objektů | Prvky()

Čelit třída je speciální typ objektové datové sady dodávané s sbírky modul v Pythonu3. Modul Collections poskytuje uživateli specializované datové typy kontejnerů, čímž poskytuje alternativu k univerzálním vestavěným modulům Pythonu, jako jsou slovníky, seznamy a n-tice.

Čelit je podtřída, která se používá k počítání hašovatelných objektů. Při vyvolání implicitně vytvoří hašovací tabulku iterovatelného.

Prvky() je jednou z funkcí třídy Counter, při vyvolání na objektu Counter vrátí itertool všech známých prvků v objektu Counter.



Parametry: Nebere žádné parametry
Typ návratu: Vrátí itertool pro všechny prvky s kladným počtem v objektu Counter
Chyby a výjimky:
-> Při přímém tisku vytiskne hodnotu nesmyslu, protože vrací itertool, nikoli konkrétní datový kontejner.
-> Pokud je počet položky již inicializován v objektu Counter, bude ignorovat ty s nulovými a zápornými hodnotami.

Kód #1: Práce prvků elements() na jednoduchém datovém kontejneru

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

>

ve srovnání s metodou java

>

Výstup:

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

Můžeme také vytvořit objekt třídy Counter pomocí seznamu jako iterovatelného datového kontejneru.

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

řez java pole
>

>

Výstup:

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ůzných objektech čítače s různými datovými kontejnery

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ýstup:

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: Pro demonstraci toho, jaké elementy() se vrátí, když je vytištěno přímo

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

>

>

Výstup:

itertools.chain object at 0x037209F0>

Kód #4: Když je počet položky v počitadle inicializován zápornými hodnotami nebo nulou.

globální proměnné javascriptu

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ýstup:

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 usuzovat, že položky s hodnotami menšími než 1 jsou elementy( vynechány).

Aplikace:
Objekt čítače spolu s jeho funkcemi se hromadně používá pro zpracování velkého množství dat. Vidíme, že Counter() vytváří hash-mapu pro jím vyvolaný datový kontejner, což je velmi užitečné než při ručním zpracování prvků. Je to jeden z velmi náročných zpracovatelských a funkčních nástrojů a dokáže fungovat i se širokou škálou dat.