pb1a38a600

Step-by-step: word frequency counting

Nov 15th, 2026
7
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. Step-by-step: word frequency counting
  2.  
  3. Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.
  4.  
  5. Задача
  6.  
  7. Дан текст. Посчитать, сколько раз встречается каждое слово, и вывести слова по убыванию частоты.
  8.  
  9. Решение
  10.  
  11. ``python
  12. from collections import Counter
  13.  
  14. def word_count(text: str) -> list[tuple[str, int]]:
  15. words = text.lower().split()
  16. return Counter(words).most_common()
  17.  
  18. print(word_count("a b a c b a"))
  19. `
  20.  
  21. Как это работает
  22.  
  23. Текст разбивается на слова, Counter подсчитывает вхождения за линейное время, а most_common() сразу возвращает отсортированный список пар.
  24.  
  25. Пример работы
  26.  
  27. `text
  28. [('a', 3), ('b', 2), ('c', 1)]
  29. ``
  30.  
  31. Сложность
  32.  
  33. O(n) по времени по числу слов, O(k) по памяти по числу уникальных.
  34.  
  35. Разбор по шагам
  36.  
  37. 1. Шаг 1. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными.
  38. 2. Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
  39. 3. Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.
  40.  
  41. Читая чужой код, повторите тот же мысленный разбор по шагам — это самый быстрый способ научиться.
  42.  
  43. View Full Gallery → https://go.cbrop.com/prse
  44.  
  45. Related:
  46.  
  47. https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/is-prime-shagi-mwe3elk4.md
  48. https://ecency.com/@marekkral2859/znur-g-ven-pornosu-9bf234
  49. https://pastebin.com/uyUzTBU8
  50. https://radicle.network/nodes/seed.cielago.xyz/rad%3Az32ka56cWN6zUPrNwh63mMyvUjro2/issues/ab3932fb93eb3114e8fa49215efe264dc09369e0
  51. https://pdfhost.io/v/eM2PtZWUTK
  52.  
Advertisement
Add Comment
Please, Sign In to add comment