0Pricing
Python Academy · Lekcja

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 0 dla 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.

Wszystkie lekcje w tym kursie

  1. Counter
  2. defaultdict
  3. deque
  4. namedtuple i OrderedDict
← Powrót do Python Academy