Counter
Łatwo zliczaj elementy
Counter to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.
Czym jest Counter?
Counter to podklasa słownika z modułu collections, przeznaczona do zliczania. Przekazujesz jej elementy, a ona zlicza, ile razy występuje każdy z nich.
Zaimportuj ją za pomocą from collections import Counter.
from collections import Counter
c = Counter(['a', 'b', 'a', 'c', 'a'])
print(c)Zliczanie znaków
Przekaż dowolny obiekt iterowalny, w tym ciąg znaków, a Counter zliczy każdy jego element. Ciągi znaków są zliczane znak po znaku.
from collections import Counter
c = Counter('mississippi')
print(c)Odczytywanie liczby wystąpień
Uzyskaj liczbę wystąpień tak jak wartość dla klucza słownika. Brakujący klucz zwraca 0 zamiast zgłaszać wyjątek KeyError — to przydatna różnica w porównaniu ze zwykłym słownikiem.
from collections import Counter
c = Counter('banana')
print(c['a'])
print(c['z'])Najczęściej występujące elementy
.most_common(n) zwraca n najczęściej występujących elementów jako pary (element, liczba), posortowane od najczęstszych do najrzadszych.
from collections import Counter
words = ['red', 'blue', 'red', 'green', 'blue', 'red']
c = Counter(words)
print(c.most_common(2))Wszystkie elementy według częstości
Wywołaj .most_common() bez argumentu, aby uzyskać wszystkie elementy uporządkowane według częstości występowania.
from collections import Counter
c = Counter('aabbbcccc')
print(c.most_common())Aktualizowanie liczników
Metoda .update() dodaje kolejne wartości z innego obiektu iterowalnego, zamiast je zastępować, jak zrobiłby to zwykły słownik.
from collections import Counter
c = Counter(['a', 'b'])
c.update(['a', 'a', 'c'])
print(c)Zliczanie na podstawie słownika
Można również utworzyć obiekt Counter bezpośrednio na podstawie mapowania elementów na ich liczby wystąpień albo za pomocą argumentów nazwanych.
from collections import Counter
c = Counter(apples=3, pears=2)
print(c)
print(c['apples'])Dodawanie dwóch obiektów Counter
Operator + łączy dwa obiekty Counter, sumując wartości pasujących kluczy. Elementy, których łączna wartość wynosi zero lub jest ujemna, zostają usunięte.
from collections import Counter
a = Counter(x=2, y=1)
b = Counter(x=1, z=4)
print(a + b)Odejmowanie liczników
Operator - odejmuje liczby wystąpień i zachowuje wyłącznie wyniki dodatnie. Użyj .subtract(), jeśli chcesz dopuścić wartości ujemne.
from collections import Counter
a = Counter(x=5, y=2)
b = Counter(x=3, y=4)
print(a - b)Suma wszystkich liczników
Zsumuj wszystkie liczby wystąpień za pomocą sum(c.values()). Dzięki temu dowiesz się, ile elementów łącznie zliczono.
from collections import Counter
c = Counter('mississippi')
print('Total letters:', sum(c.values()))Wyświetlanie elementów
.elements() zwraca iterator, który powtarza każdy element tyle razy, ile wynosi jego liczba wystąpień. Owiń go w list(), aby zobaczyć wszystkie elementy.
from collections import Counter
c = Counter(a=2, b=1, c=3)
print(sorted(c.elements()))Szybkie sprawdzenie
Dla c = Counter('hello') co zwraca wyrażenie c['x']?
Podsumowanie: Counter
Dowiedziałeś się, że Counter:
- zlicza elementy z dowolnego obiektu iterowalnego, w tym z ciągów znaków;
- zwraca
0dla brakujących kluczy zamiast zgłaszać błąd; - udostępnia metodę
.most_common(n)do porządkowania elementów według częstości; - obsługuje operatory
+,-oraz metody.update()i.elements()przy zliczaniu.
from collections import Counter
votes = ['yes', 'no', 'yes', 'yes', 'no']
print(Counter(votes).most_common(1))Często zadawane pytania
Czy lekcja „Counter” jest bezpłatna?
Tak — pełny tekst „Counter” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Counter”?
Łatwo zliczaj elementy Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Counter”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.