Python | Modobjekter | elementer()
Tæller klasse er en speciel type objektdatasæt, der leveres med samlinger modul i Python3. Samlingsmodulet giver brugeren specialiserede containerdatatyper, hvilket giver et alternativ til Pythons generelle indbyggede funktioner som ordbøger, lister og tupler.
Tæller er en underklasse, der bruges til at tælle hashbare objekter. Det opretter implicit en hash-tabel over en iterabel, når den påberåbes.
elementer() er en af funktionerne i Counter-klassen, vil når den kaldes på Counter-objektet returnere et itertool af alle de kendte elementer i Counter-objektet.
Parametre: Tager ingen parametre
Returtype: Returnerer et itertool for alle elementer med positivt antal i Counter-objektet
Fejl og undtagelser:
-> Det vil udskrive skraldværdi, når det udskrives direkte, fordi det returnerer et itertool, ikke en specifik databeholder.
-> Hvis antallet af et element allerede er initialiseret i Counter-objekt, vil det ignorere dem med nul og negative værdier.
Kode #1: Arbejde med elementer() på en simpel databeholder
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> => ' '> )> |
Produktion:
g g e e e e k k s s f o r
Vi kan også oprette Counter-klasseobjekt ved hjælp af en liste som en itererbar databeholder.
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)> |
Produktion:
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] Kode #2: Elementer på en række tællerobjekter med forskellige data-containere
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> => ' '> )> |
Produktion:
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
Kode #3: For at demonstrere, hvilke elementer() der returnerer, når det udskrives direkte
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())> |
Produktion:
itertools.chain object at 0x037209F0
Kode #4: Når optællingen af en vare i Counter initialiseres med negative værdier eller nul.
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> => '
'> )> |
Produktion:
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
Bemærk: Vi kan udlede af outputtet, at elementer med værdier mindre end 1 er udeladt af elementer().
Ansøgninger:
Modobjekt sammen med dets funktioner bruges samlet til behandling af enorme mængder data. Vi kan se, at Counter() opretter et hash-map for den databeholder, der påberåbes med den, hvilket er meget nyttigt end ved manuel behandling af elementer. Det er et af de meget høje bearbejdnings- og fungerende værktøjer og kan endda fungere med en bred vifte af data.