Lada class to specjalny typ zbioru danych obiektowych dostarczany wraz z klasą zbiory moduł w Pythonie3. Moduł Collections udostępnia użytkownikowi wyspecjalizowane kontenerowe typy danych, stanowiąc w ten sposób alternatywę dla wbudowanych rozwiązań Pythona ogólnego przeznaczenia, takich jak słowniki, listy i krotki.
Lada jest podklasą używaną do zliczania obiektów, które można hashować. Niejawnie tworzy tablicę skrótów iterowalną po wywołaniu.
elementy() jest jedną z funkcji klasy Counter, wywołana na obiekcie Counter zwróci itertool wszystkich znanych elementów obiektu Counter.
Parametry: Nie przyjmuje żadnych parametrów
Typ zwrotu: Zwraca narzędzie itertool dla wszystkich elementów z dodatnią liczbą w obiekcie Counter
Błędy i wyjątki:
-> Wydrukuje wartość śmieciową, gdy zostanie bezpośrednio wydrukowana, ponieważ zwraca itertool, a nie konkretny kontener danych.
-> Jeżeli w obiekcie Counter zainicjowano już zliczanie pozycji, to zignoruje te z wartością zerową i ujemną.
Kod nr 1: Działanie elementów() na prostym kontenerze danych
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>=> ' '>)> |
>
eksport gimp jako jpg
>
Wyjście:
g g e e e e k k s s f o r>
Możemy również utworzyć obiekt klasy Counter, używając listy jako iterowalnego kontenera danych.
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)> |
>
>
Wyjście:
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]> Kod nr 2: Elementy na różnych obiektach licznikowych z różnymi kontenerami danych
Python3
skaner skanuj Java
# 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>=> ' '>)> |
>
>
Wyjście:
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>
Kod nr 3: Aby zademonstrować, jakie elementy() zwracają, gdy są bezpośrednio drukowane
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())> |
>
>
Wyjście:
itertools.chain object at 0x037209F0>
Kod nr 4: Gdy licznik elementu w Counter jest inicjowany wartościami ujemnymi lub zerem.
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>=>'
'>)> |
sortowanie tablicowe Java
>
>
Wyjście:
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>
Notatka: Z wyniku możemy wywnioskować, że elementy o wartościach mniejszych niż 1 są pomijane przez elementy().
Aplikacje:
Obiekt licznika wraz z jego funkcjami służy zbiorczo do przetwarzania ogromnych ilości danych. Widzimy, że Counter() tworzy mapę skrótów dla wywołanego za jej pomocą kontenera danych, co jest bardzo przydatne niż ręczne przetwarzanie elementów. Jest to jedno z narzędzi o bardzo wysokim przetwarzaniu i funkcjonowaniu, które może nawet obsługiwać szeroki zakres danych.