# Step-by-step: word frequency counting (part c07a)

Разложим решение на шаги и объясним, что происходит на каждом из них.

## Задача

Дан текст. Посчитать, сколько раз встречается каждое слово, и вывести слова по убыванию частоты.

## Решение

```python
from collections import Counter


def word_count(text: str) -> list[tuple[str, int]]:
    words = text.lower().split()
    return Counter(words).most_common()


print(word_count("a b a c b a"))
```

## Как это работает

Текст разбивается на слова, `Counter` подсчитывает вхождения за линейное время, а `most_common()` сразу возвращает отсортированный список пар.

## Пример работы

```text
[('a', 3), ('b', 2), ('c', 1)]
```

## Сложность

O(n) по времени по числу слов, O(k) по памяти по числу уникальных.


## Разбор по шагам

1. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

Читая чужой код, повторите тот же мысленный разбор по шагам — это самый быстрый способ научиться.

**Читайте также:**

[каждое](https://ecency.com/@adamsvoboda1644/sahin-k-kahyanin-karisini-sikiyor-bc9c16) · [происходит](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [значение](https://rentry.co/bocil-diewe-807872) · [встречается](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/soyunma-kabini-gizli-kamera-4bc71a.pdf) · [корректными](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-03089a.pdf) · [время](https://cloudgaminghub.net.ua/join/sks+mdmlk?f=linkcentre) · [Counter](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az2yFLqr4QsnZffxBUySVAQ2t6UJFP/issues/206270b9b91974ad0d69ae801862cee80fecace8) · [Именно](https://yakihonne.com/article/naddr1qvzqqqr4gupzqedr4dfhh5zukv7zuwve5y8g49pqjj4p5wqh5kfsg7qa5vs8vtvqqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkzenr8ymrgefn94snxet9956r2de495unye3k94jnjvm9x4nxzwf5v4nrwnae5hl) · [text.lower().split](https://radicle.network/nodes/seed.pipapo.org/rad%3Az375pWEN31JC7oXzYy5HSkdJSeZPT/issues/d2fd162b0f5162684891cf24d3af0d86a6b2133c) · [условию](https://discuss.tchncs.de/post/65444083) · [переменных](https://privatebin.devol.it/?e3f0b4610dfe6dbe#GTpCVuza2CyEjUK1EZXKaZaE5Ce6affUu6ADkD4y9NAf) · [каждом](https://jaflysilve.freeflarum.com/d/2556-2556-vairas-chronicles-chapter-1-animated-adult-gallery) · [import](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [повторите](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [уникальных](https://transmetonline.com/sbc0058?f=instapaper) · [здесь](https://collection28250.mataroa.blog/blog/vairas-chronicles-chapter-1-animated-adult-gallery/) · [какие](https://news-ctl-posts.hashnode.dev/walking-through-the-fibonacci-sequence-part-d3d0) · [list[tuple[str](https://discuss.tchncs.de/post/65439840) · [Читая](https://yakihonne.com/article/naddr1qvzqqqr4gupzpgyq9f932gkcn69djz2htjnnuvdzzwufv62j64tlenn86wgpc8seqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkvdfnvgcrgd3k95mnsdp3956rxcfe94sngvmr956xxd3sxe3kve33xu6nst5yl2x) · [убыванию](https://rentry.co/jbzone-394629) · [Входные](https://sofiamichel182.overblog.fr/2026/10/mylittlegi.html) · [самый](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/stick-war-eb6477.pdf)

