logo

Python | Tegenobjecten | elementen()

Balie klasse is een speciaal type objectgegevensset dat wordt meegeleverd met de collecties module in Python3. De Collections-module biedt de gebruiker gespecialiseerde containerdatatypes en biedt daarmee een alternatief voor de algemene ingebouwde Python-invoegtoepassingen, zoals woordenboeken, lijsten en tupels.

Balie is een subklasse die wordt gebruikt om hashbare objecten te tellen. Het creëert impliciet een hashtabel van een iterabele wanneer het wordt aangeroepen.



elementen() is een van de functies van de Counter-klasse. Wanneer deze wordt aangeroepen op het Counter-object, wordt een itertool geretourneerd van alle bekende elementen in het Counter-object.

Parameters: Neemt geen parameters aan
Retourtype: Retourneert een itertool voor alle elementen met een positieve telling in het Counter-object
Fouten en uitzonderingen:
-> Het zal een afvalwaarde afdrukken wanneer het rechtstreeks wordt afgedrukt, omdat het een itertool retourneert, en geen specifieke gegevenscontainer.
-> Als de telling van een item al is geïnitialiseerd in het Counter-object, worden de items met nul en negatieve waarden genegeerd.

Code #1: Werken van elements() op een eenvoudige datacontainer



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

>

c# datumtijd

>

Uitgang:

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

We kunnen ook een Counter-klasseobject maken met behulp van een lijst als een itereerbare gegevenscontainer.

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

>

>

Java vermelden

Uitgang:

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

Code #2: Elementen op verschillende tegenobjecten met verschillende datacontainers

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

>

>

Uitgang:

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>

Code #3: Om aan te tonen welke elementen() terugkeren wanneer deze rechtstreeks worden afgedrukt

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

>

>

Uitgang:

itertools.chain object at 0x037209F0>

Code #4: Wanneer de telling van een item in Counter wordt geïnitialiseerd met negatieve waarden of nul.

Python3


tweedimensionaal arrayprogramma in c



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

>

>

Uitgang:

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>

Opmerking: We kunnen uit de uitvoer afleiden dat items met waarden kleiner dan 1 worden weggelaten door elements().

Toepassingen:
Tegenobjecten worden samen met hun functies gezamenlijk gebruikt voor het verwerken van grote hoeveelheden gegevens. We kunnen zien dat Counter() een hash-map maakt voor de gegevenscontainer die ermee wordt aangeroepen, wat erg handig is dan bij handmatige verwerking van elementen. Het is een van de zeer hoogwaardige verwerkings- en functionerende tools en kan zelfs met een breed scala aan gegevens functioneren.