Rozdział 11 · Mnóstwo informacji!
Mini-projekt — liczenie częstości słów
łańcuch znaków, pętle i licznik słownik w jednym klasycznym zadaniu — z ręcznym algorytmem i podglądem gotowego narzędzia ze standardowej biblioteki.
Klasyczne zadanie, które łączy prawie wszystko z tego rozdziału: łańcuchy (rozdział 8), pętle (rozdział 10) i słownik jako licznik.
Algorytm krok po kroku
chastota_slov.py
text = "python is great and python is fun"
words = text.lower().split()
counts = {}
for word in words:
counts[word] = counts.get(word, 0) + 1
print(counts)
Dlaczego właśnie .get(word, 0), a nie counts[word]
Na pierwszym spotkaniu słowa kluczowego
word w counts jeszcze nie — counts[word] by spowodowało KeyError. .get(word, 0) zwraca 0 dla nowego słowa, a kod działa tak samo zarówno dla nowych, jak i istniejących słów.Ten sam algorytm przez setdefault()
chastota_setdefault.py
counts = {}
for word in words:
counts.setdefault(word, 0)
counts[word] += 1
Trochę głębiej — standardowa biblioteka już rozwiązała ten problem
counter_preview.py
from collections import Counter
counts = Counter(words)
print(counts) # Counter({'python': 2, 'is': 2, 'great': 1, 'and': 1, 'fun': 1})
print(counts.most_common(2)) # [('python', 2), ('is', 2)]
Algorytm ręczny jest ważniejszy niż gotowa funkcja
Counter z biblioteki standardowej robi to samo w jednej linii — a w prawdziwym kodzie często lepiej go używać. Ale algorytm na .get(word, 0) + 1 warto było przejrzeć to rękami: pokazuje, jak liczenie działa w słownik ogólnie, a nie tylko że istnieje gotowe narzędzie do tego zadania.Praktyka: Liczenie częstotliwości występowania słów w tekście
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji