Comptador class és un tipus especial de conjunt de dades d'objectes proporcionat amb el fitxer col·leccions mòdul en Python3. El mòdul de col·leccions proporciona a l'usuari tipus de dades de contenidors especialitzats, proporcionant així una alternativa als integrats de propòsit general de Python, com ara diccionaris, llistes i tuples.
Comptador és una subclasse que s'utilitza per comptar objectes hashable. Crea implícitament una taula hash d'un iterable quan s'invoca.
elements () és una de les funcions de la classe Counter, quan s'invoca a l'objecte Counter retornarà una eina de tots els elements coneguts de l'objecte Counter.
Paràmetres: No pren cap paràmetre
Tipus de retorn: Retorna una eina per a tots els elements amb recompte positiu a l'objecte Counter
Errors i excepcions:
-> Imprimeix un valor d'escombraries quan s'imprimeix directament perquè retorna una eina, no un contenidor de dades específic.
-> Si el recompte d'un element ja està inicialitzat a l'objecte Comptador, ignorarà els valors zero i negatius.
Codi #1: Treball d'elements() en un contenidor de dades senzill
Python 3
# 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>=> ' '>)> |
>
tall de java
>
Sortida:
g g e e e e k k s s f o r>
També podem crear un objecte de classe Counter utilitzant una llista com a contenidor de dades iterable.
Python 3
# 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)> |
>
>
Sortida:
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]> Codi #2: Elements en una varietat d'objectes de comptador amb diferents contenidors de dades
Python 3
# 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>=> ' '>)> |
>
>
Sortida:
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>
Codi #3: Per demostrar quins elements() retornen quan s'imprimeix directament
Python 3
desavantatges de la banca en línia
# 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())> |
>
>
miniaplicació d'applet
Sortida:
itertools.chain object at 0x037209F0>
Codi #4: Quan el recompte d'un element al comptador s'inicia amb valors negatius o zero.
Python 3
# 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>=>'
'>)> |
>
>
Sortida:
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>
Nota: Podem inferir de la sortida que elements amb valors inferiors a 1 són omesos per elements().
Aplicacions:
L'objecte comptador juntament amb les seves funcions s'utilitzen col·lectivament per processar grans quantitats de dades. Podem veure que Counter() crea un hash-map per al contenidor de dades invocat amb ell, que és molt útil que el processament manual d'elements. És una de les eines de processament i funcionament molt altes i fins i tot també pot funcionar amb una àmplia gamma de dades.