W Python dostępne są różne metody gromadzenia, które są używane do przechowywania danych takich jak lista, krotek itp. Ale niektóre inne metody mogą śledzić elementy za pomocą ich wartości częstotliwości. Więc omówimy tę kolekcję.
Biblioteka kolekcji to pakiet wbudowany, więc nie trzeba instalować z jawnego. Moduł kolekcji ma wiele podklas, ale omówimy licznik. Obiekt licznika zwraca wartość w formacie słownika z kluczem i wartością. Jest to podklasa klasy słownika.
Tworzenie obiektów liczników Python:
Metoda 1: Korzystanie z listy
Możemy utworzyć obiekt licznika za pomocą metody listy. Przechodzimy listę jako parametr do funkcji licznika i wracamy z wynikami w formacie słownika, który mówi częstotliwość każdego elementu.
W liczbie komórki [4]: Importujemy bibliotekę kolekcji i nie jest konieczne, aby ją jawnie ją instalować, ponieważ jest to pakiet wbudowany.
W liczbie komórki [7]: Tworzymy listę znaków alfabetu i przekazujemy je jako argument do tej funkcji.
W liczbie komórki [8]: Drukujemy liczbę i widzimy, że obiekt licznika przekształca listę w dyktę z częstotliwością.
Metoda 2: Korzystanie z krotki
Możemy utworzyć obiekt licznika, używając również krotki, jak pokazano poniżej na zrzucie ekranu.
W liczbie komórki [4]: Tworzymy krotność znaków alfabetu i przekazujemy je jako argument do tej funkcji.
W liczbie komórki [5]: Drukujemy hrabia i widzimy, że obiekt kontrataku przekształca krotkę w dyktę z częstotliwością.
Metoda 3: Tworzenie kontrataków za pomocą literału ciągu
Możemy również utworzyć kontr -obiekt za pomocą literału ciągu. Musimy przekazać ciąg do funkcji licznika, a następnie obiekt licznika zlicza każdy znak i wyświetla wynik w formacie DICT, jak pokazano poniżej.
W liczbie komórki [6]: Przekazujemy ciąg do funkcji licznika i przechowujemy wynik z powrotem do zmiennej nazwy liczby_str.
W liczbie komórki [7]: Drukujemy zmienną liczbę_str, a wynik pokazuje każdy znak w ciągu z ich częstotliwością.
Metoda 4: Utworzenie licznika obiektu za pomocą listy słów String
Możemy również utworzyć kontratak za pomocą listy ciągów. W tym celu musimy przekazać listę słów łańcuchowych do funkcji licznika, a następnie obiekt licznika zlicza każde słowo i wyświetla wynik w formacie DICT, jak pokazano poniżej.
W liczbie komórki [8]: Przekazujemy listę ciągów do funkcji licznika i przechowujemy wynik z powrotem do zmiennej nazwy Counterwords_List.
W liczbie komórki [8]: Drukujemy zmienną liczbę słów, a wynik pokazuje każde słowo w dykcie z ich częstotliwością.
Metoda 5: Tworzenie kontr -obiekt za pomocą DICT
Możemy również utworzyć kontratak za pomocą DICT. W DICT utrzyma najwyższą wartość klucza częstotliwości w wyniku, jak pokazano poniżej:
W liczbie komórki [11]: Przekazujemy DICT do funkcji licznika i przechowujemy wynik z powrotem do zmiennej liczby nazwy_dict.
W liczbie komórki [12]: Wynik pokazuje, że licznik wybiera tę samą wartość kluczową, która ma najwyższą częstotliwość.
Aktualizacja kontr -obiekt:
Metoda aktualizacji pomaga nam dodać nowe elementy do istniejącego obiektu licznika. Pozwala nam również utworzyć pusty obiekt, abyśmy mogli go później użyć.
W liczbie komórki [13]: Tworzymy pusty obiekt licznika z nazwą kontrpdedu. Możemy użyć tego pustego obiektu, aby dodać nowe elementy lub zaktualizować już istniejące elementy obiektu przeciwników.
W liczbie komórki [14]: Możemy zobaczyć pusty licznik.
W liczbie komórki [15]: Wywołujemy metodę aktualizacji za pomocą operatora kropkowego i przekazujemy listę.
W liczbie komórki [16]: Możemy zobaczyć wynik w formacie DICT z ich częstotliwością.
W liczbie komórki [17]: Ponownie wywołujemy aktualizację metody, aby zaktualizować istniejący obiekt licznika (CounterUpdate).
W liczbie komórki [18]: Widzimy, że częstotliwość elementów zmienia się, ponieważ dodaliśmy nowe elementy do istniejącego licznika.
Dostęp do liczby elementów:
Dodatkowo możemy uzyskać dostęp do elementów obiektu licznika, aby poznać wartość częstotliwości. Elementy dostępu nie zwracają wyjątku, jeśli ten element nie istnieje w obiekcie kontratakowym.
W liczbie komórki [19]: Przekazujemy DICT w obiekt.
W liczbie komórki [20]: Drukujemy nasz obiekt i widzimy wynik DICT, zmniejszenie kolejności.
W liczbie komórki [21]: Uzyskamy dostęp do wartości liczby psa przedmiotu, który zwraca wartość 2.
W liczbie komórki [22]: Staramy się uzyskać dostęp do elementu [„królika”], ale jak wiemy, ten element nie istnieje w liczniku, więc otrzymujemy wyjście 0, a nie błąd.
Aktualizacja wartości liczby:
Możemy również zaktualizować wartość liczby istniejącego elementu i ustawić wartość liczby nieistniejącego elementu.
W liczbie komórki [23]: Przekazujemy DICT w obiekt.
W liczbie komórki [24]: Drukujemy nasz obiekt i widzimy wynik DICT, zmniejszenie kolejności.
W liczbie komórki [25]: Uzyskamy dostęp do wartości liczby psa przedmiotu, który zwraca wartość 2.
W liczbie komórki [26]: Ustawiamy wartość liczby „psa” na 0. Tak więc wartość hrabiego psa stanie się 0. Aby to przetestować, drukujemy wynik w numerze komórki [27].
W liczbie komórki [27]: Z wyniku widzimy, że wartość liczby psa wynosi teraz 0.
W liczbie komórki [29]: Ustawiamy nowy element [„królik”] z wartością 1.
W liczbie komórki [30]: Ponownie drukujemy licznik, aby sprawdzić, czy nowy element „królik” istnieje. Jak widać, królik istnieje w przeciwnym obiekcie.
Usuwanie elementu z licznika
Możemy również usunąć element z obiektu licznika za pomocą polecenia Del.
W liczbie komórki [31]: Stworzyliśmy dykt ciągu i przekazaliśmy go do funkcji obiektu przeciwnika.
W liczbie komórki [32]: Drukujemy nasz kontratak.
W liczbie komórki [33]: Używamy słowa kluczowego Del, aby usunąć element [„Lion”] z obiektu licznika.
W liczbie komórki [34]: Ponownie drukujemy nasz kontratak, a usunięty element jest potwierdzony jako usunięty [„Lion”] wewnątrz listy ciągów.
Operacja arytmetyczna na obiekcie kontratakowym:
Możemy również wykonywać różne rodzaje operacji arytmetycznych na obiekcie kontratakowym. Główne operacje, które możemy wykonać, pokazano poniżej na zrzucie ekranu.
W liczbie komórki [35]: Utworzyliśmy dwa obiekty, Counter_1 i Counter_2.
W liczbie komórki [36]: Stosujemy dodatek do dwóch obiektów liczników i drukujemy wynik. Licznik pokaże tylko wartość, która zwraca dodatni. Dlatego mamy tylko wartość B, ponieważ inni mają wartości ujemne.
W liczbie komórek [37]: Stosujemy odejmowanie na dwóch obiektach kontrataków. Podobnie jak, utrzymuje to również dodatnią wartość liczby.
W liczbie komórki [38]: Przecięcie możemy zastosować na dwóch obiektach liczników za pomocą pojedynczego i operatora. Zwraca minimalną wartość i rozważa tylko te elementy, które są dodatnie. Nie uwzględnia nawet pojedynczego elementu negatywnego, takiego jak to, co mamy, a = 4 i a = -12, więc jego minimalna wartość powinna wynosić 4, ale przecięcie ignoruje to z powodu jednej wartości ujemnej.
W liczbie komórki [39]: Jest przeciwny do skrzyżowania. Wybiera maksymalną wartość między dwoma elementami, a także nie ignoruje wartości ujemnej.
Metoda elementów ():
Metoda elementów () działa przeciwnie do obiektu licznika. W obiekcie kontratakowym przekazujemy DICT, listę lub krotkę, aby policzyć częstotliwość elementów i wyświetlaj wynik w formacie DICT. Ale elementy () przekonwertuj DICT na listę i każdy element liczby razy na liście, która jest równa ich wartości częstotliwości. Zwraca wartości w formie iteratora.
W liczbie komórki [40]: Przekazujemy obiekt DICT do funkcji obiektu przeciwnika.
W liczbie komórki [41]: Nazywamy metodę Elements () za pomocą operatora kropkowego i drukujemy. Widzimy, że wyjście mówi, że jest to iterator.
W liczbie komórek [42]: Używamy listy funkcji odlewu i drukujemy wszystkie elementy dyktatury. W rezultacie widać, że kot i koń nie są dodawane ze względu na ich wartości 0 i -1.
Dostęp do wspólnych elementów:
most_common (n):
W liczbach komórek [44 i 45]: Stworzyliśmy obiekt DICT i przekazaliśmy go do obiektu przeciwnika i wydrukowaliśmy ten obiekt.
W liczbie komórki [46]: Nazywamy metodę most_common () i drukujemy. Pokazuje, że jest podobny do wynika.
W liczbie komórki [47]: Drukujemy najważniejsze z wartością argumentu 1, która pokazuje najwyższą wartość częstotliwości, zebra.
W liczbie komórki [48]: Drukujemy najważniejszą wartością argumentu 3, która pokazuje pierwsze trzy elementy.
W liczbie komórki [49]: Lista [: -n: -1] jest standardową metodą uzyskania najmniejszych wspólnych elementów.
Metoda subtract ():
Metoda odejmowania służy do odjęcia wartości liczby elementów od obiektu licznika.
W liczbie komórki [58]: Stworzyliśmy obiekt licznika z niektórymi wartościami ciągów i wydrukowaliśmy je w komórce [59].
W liczbie komórki [60]: Stworzyliśmy inny kontratak z jedną wartością a.
W liczbie komórki [61]: Możemy zobaczyć tę pojedynczą wartość.
W liczbie komórki [62]: Odejmujemy obiekt licznika (a) od subcounter. Po odjęciu widzimy, że wartość wydrukowana w komórce [63] ma teraz element „A”, który ma wartość zliczania 2.
Usuń element ujemny lub zerowy
Możemy również usunąć elementy ujemne lub zerowe zerowe, aby mieć jedynie elementy wartości dodatniej.
W liczbie komórki [68]: Stworzyliśmy obiekt licznika z pewnymi pozytywnymi, negatywnymi lub zerowymi elementami wartości liczby.
W liczbie komórki [69]: Filtrujemy te pozytywne elementy zliczania z obiektu kontraktowego. Wynik nie wykazuje żadnych negatywnych lub zerowych elementów liczby w komórce [70].
Wniosek:
Widzieliśmy więc różne operacje, które możemy wykonać na obiekcie kontratakowym. Omówiliśmy również metody tworzenia kontr -obiekt. Główne pomysły, które otrzymaliśmy z obiektu kontratera, znajdują się poniżej:
Oprócz powyższych głównych koncepcji, uczymy wiele o obiekcie, takich jak operacje arytmetyczne, najczęstsze elementy, aktualizacje itp. Możemy powiedzieć, że licznik zasadniczo śledzi elementy z ich częstotliwością.
Kod do tego możesz pobrać z linku:
https: // github.com/shekharpandey89/Python-collections-Counter