Licznik Pythona w kolekcjach z przykładem

Spisie treści:

Anonim

Co to jest licznik Pythona?

Python Counter to kontener, który będzie przechowywać liczbę każdego z elementów znajdujących się w kontenerze. Licznik jest podklasą dostępną w klasie słownika.

Licznik jest podklasą dostępną w klasie słownika. Korzystając z narzędzia Python Counter, możesz policzyć pary klucz-wartość w obiekcie, zwanym również obiektem tablicy mieszania.

Dlaczego warto korzystać z licznika Python?

Oto główne powody korzystania z licznika Python 3:

  • Licznik przechowuje dane w nieuporządkowanej kolekcji, podobnie jak obiekty z możliwością haszowania. Elementy tutaj reprezentują klucze i licznik jako wartości.
  • Pozwala zliczać elementy na iterowalnej liście.
  • Operacje arytmetyczne, takie jak dodawanie, odejmowanie, przecinanie i sumowanie, można łatwo wykonywać na liczniku.
  • Licznik może również liczyć elementy z innego licznika

W tym samouczku Python dowiesz się:

  • Co to jest licznik Pythona?
  • Dlaczego warto korzystać z licznika Python?
  • Wprowadzenie do Python Counter
  • Licznik ze sznurkiem
  • Licznik z listą
  • Licznik ze słownikiem
  • Kontratuj za pomocą krotki
  • Uzyskiwanie dostępu, inicjowanie i aktualizowanie liczników
  • Usuwanie elementu z licznika
  • Operacje arytmetyczne na liczniku Pythona
  • Metody dostępne w Pythonie Counter
  • Ponowne przypisywanie liczb w Pythonie
  • Pobierz i ustaw liczbę elementów za pomocą Counter

Wprowadzenie do Python Counter

Python Counter pobiera na wejściu listę, krotkę, słownik, łańcuch, które są obiektami iterowalnymi, i da ci wyjście, które będzie miało liczbę każdego elementu.

Składnia:

Counter(list)

Rozważ, że masz następującą listę:

list1 = ['x','y','z','x','x','x','y', 'z']

Lista zawiera elementy x, y i z. Kiedy użyjesz Licznika na tej liście, policzy, ile razy występuje x, y i z. Wyjście, jeśli licznik jest używany na liście1, powinno wyglądać mniej więcej tak:

Counter({'x': 4, 'y': 2, 'z': 2})

Mamy więc liczbę x jako 4, y jako 2 i z jako 2.

Aby skorzystać z Counter, musimy go najpierw zaimportować, jak pokazano w poniższym przykładzie:

from collections import Counter

Oto prosty przykład pokazujący działanie modułu Counter.

from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))

Wynik:

Counter({'x': 4, 'y': 2, 'z': 2})

Licznik ze sznurkiem

W Pythonie wszystko jest obiektem, a łańcuch również jest obiektem. Łańcuch w języku Python można utworzyć po prostu przez umieszczenie znaków w podwójnym cudzysłowie. Python nie obsługuje typów znaków. Są one traktowane jako ciągi o długości jeden, również traktowane jako podciąg.

W poniższym przykładzie ciąg jest przekazywany do Counter. Zwraca format słownika, z parą klucz / wartość, gdzie klucz jest elementem, a wartość jest liczbą. Traktuje również przestrzeń jako element i podaje liczbę spacji w ciągu.

Przykład:

from collections import Countermy_str = "Welcome to Guru99 Tutorials!"print(Counter(my_str))

Wynik:

Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})

Licznik z listą

Lista to iterowalny obiekt, którego elementy znajdują się w nawiasach kwadratowych.

Elementy na liście przekazane do Licznika zostaną przekonwertowane na obiekty z możliwością haszowania, w których elementy staną się kluczami, a wartości będą liczbą elementów z podanej listy.

Na przykład [„x”, „y”, „z”, „x”, „x”, „x”, „y”, „z”]. Gdy podasz liście Licznik, poda on liczbę każdego elementu na liście.

from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))

Wynik:

Counter({'x': 4, 'y': 2, 'z': 2})

Licznik ze słownikiem

Słownik zawiera elementy jako parę klucz / wartość i są one zapisane w nawiasach klamrowych.

Gdy słownik zostanie przekazany Licznikowi, zostanie on przekonwertowany na obiekty z możliwością haszowania, w których elementy staną się kluczami, a wartości będą liczbą elementów z podanego słownika.

Na przykład: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Funkcja Counter spróbuje znaleźć liczbę każdego klucza w danym słowniku.

from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))

Wynik:

Counter({'x': 4, 'y': 2, 'z': 2})

Kontratuj za pomocą krotki

Krotka to zbiór obiektów oddzielonych przecinkami wewnątrz nawiasów okrągłych. Licznik poda liczbę każdego elementu w podanej krotce.

Gdy krotka zostanie przekazana Licznikowi, zostanie ona przekonwertowana na obiekt z możliwością haszowania, w którym elementy staną się kluczami, a wartości będą liczbą elementów z podanej krotki.

from collections import Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))

Wynik:

Counter({'x': 4, 'y': 2, 'z': 2})

Uzyskiwanie dostępu, inicjowanie i aktualizowanie liczników

Inicjalizacja licznika

Licznik można zainicjować, przekazując wartość ciągu, listę, słownik lub krotkę, jak pokazano poniżej:

from collections import Counterprint(Counter("Welcome to Guru99 Tutorials!")) #using stringprint(Counter(['x','y','z','x','x','x','y', 'z'])) #using listprint(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionaryprint(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple

Możesz również zainicjować pusty licznik, jak pokazano poniżej:

from collections import Counter_count = Counter()

Aktualizowanie licznika

Możesz dodać wartości do licznika za pomocą metody update ().

_count.update('Welcome to Guru99 Tutorials!')

Ostateczny kod to:

from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print(_count)

Wynik to:

Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})

Uzyskiwanie dostępu do licznika

Aby uzyskać wartości z licznika, możesz wykonać następujące czynności:

from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print('%s : %d' % ('u', _count['u']))print('\n')for char in 'Guru':print('%s : %d' % (char, _count[char]))

Wynik:

u : 3G : 1u : 3r : 2u : 3

Usuwanie elementu z licznika

Aby usunąć element z Counter, możesz użyć del, jak pokazano na poniższym przykładzie:

Przykład:

from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))

Wynik:

Counter({'y': 2, 'z': 2})

Operacje arytmetyczne na liczniku Pythona

Operacje arytmetyczne, takie jak dodawanie, odejmowanie, przecinanie i sumowanie, można wykonać na liczniku, jak pokazano w poniższym przykładzie:

Przykład:

from collections import Countercounter1 = Counter({'x': 4, 'y': 2, 'z': -2})counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })#Additioncounter3 = counter1 + counter2 # only the values that are positive will be returned.print(counter3)#Subtractioncounter4 = counter1 - counter2 # all -ve numbers are excluded.For example z will be z = -2-4=-6, since it is -ve value it is not shown in the outputprint(counter4)#Intersectioncounter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2print(counter5)#Unioncounter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2print(counter6)

Wynik:

Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})

Metody dostępne w Pythonie Counter

Istnieje kilka ważnych metod dostępnych w programie Counter, oto ich lista:

  • elementy () : Ta metoda zwróci wszystkie elementy z liczbą> 0. Elementy z liczbą 0 lub -1 nie zostaną zwrócone.
  • most_common (wartość): Ta metoda zwróci najczęściej używane elementy z listy Licznik.
  • subtract (): Ta metoda służy do odejmowania elementów z innego licznika.
  • update (): Ta metoda służy do aktualizowania elementów z innego licznika.

Przykład: elementy ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})_elements = counter1.elements() # will give you all elements with positive value and count>0for a in _elements:print(a)

Wynik:

xxxxxyy

Przykład: most_common (wartość)

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})common_element = counter1.most_common(2) # The dictionary will be sorted as per the most common element first followed by next.print(common_element)common_element1 = counter1.most_common() # if the value is not given to most_common , it will sort the dictionary and give the most common elements from the start.The last element will be the least common element.print(common_element1)

Wynik:

[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]

Przykład: odejmowanie ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.subtract(counter2)print(counter1)

Wynik:

Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})

Przykład: update ()

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.update(counter2)print(counter1)

Wynik:

Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})

Ponowne przypisywanie liczb w Pythonie

Możesz ponownie przypisać liczniki liczników, jak pokazano poniżej:

Rozważ, że masz słownik: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}

Możesz zmienić liczbę elementów, jak pokazano poniżej:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)

Wyjście: Po wykonaniu zobaczysz, że liczba y zmienia się z 12 na 20

Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})

Pobierz i ustaw liczbę elementów za pomocą Counter

Aby uzyskać liczbę elementów za pomocą licznika, możesz wykonać następujące czynności:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y']) # this will give you the count of element 'y'

Wynik:

12

Aby ustawić liczbę elementów, możesz wykonać następujące czynności:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)

Wynik:

12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})

Podsumowanie:

  • Licznik to kontener, który będzie przechowywać liczbę każdego z elementów obecnych w kontenerze.
  • Counter to podklasa dostępna w klasie słownika.
  • Korzystając z narzędzia Python Counter, możesz policzyć pary klucz-wartość w obiekcie, zwanym również obiektem haszującym.
  • Licznik przechowuje dane w nieuporządkowanej kolekcji, podobnie jak obiekty z możliwością haszowania. Elementy tutaj reprezentują klucze i licznik jako wartości.
  • Pozwala zliczać elementy na iterowalnej liście.
  • Operacje arytmetyczne, takie jak dodawanie, odejmowanie, przecinanie i sumowanie, można łatwo wykonywać na liczniku.
  • Licznik może również liczyć elementy z innego licznika.
  • Ważnymi metodami dostępnymi w Counter są elements (), most_common (wartość), subtract () i update ().
  • Licznika można użyć w ciągu, liście, słowniku i krotce.