workshophub563992

Solving and testing word frequency counting

Nov 10th, 2026
5
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. Solving and testing 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. Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.
  38.  
  39. `python
  40. assert is_valid(True) is not None # базовая проверка вызова
  41. assert is_valid(False) is not None # и второй случай
  42. ``
  43.  
  44. Такой минимум уже защищает от случайной ошибки при правках кода.
  45.  
  46. С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.
  47.  
  48. View Full Gallery → https://sea.onlyfuns.win/ydt?q=%D8%AD%D9%88%D8%B1%20%D8%B9%D9%8A%D9%86%20%D9%84%D9%84%D9%86%D8%B3%D8%A7%D8%A1
  49.  
  50. Related:
  51.  
  52. https://pastebin.com/ZbfWrUce
  53. https://yakihonne.com/article/naddr1qvzqqqr4gupzpfvu7f5xvtuhz90xmn6ahmpuy0uaulegqn00n2f3z2p5mfp7vcgfqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkywryvf3nqwtp95cnjdf5956xzefn943xvvn995uk2dfkvgcrzwfnv3jrg0rexzz
  54. https://jaflysilve.freeflarum.com/d/21469-21469-grace-rayne-gracexrayne-nude-leaked-onlyfans-photo-gallery
  55. https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-3d1cba.pdf
  56. https://www.booksie.com/790602-pitfalls-of-minimum-and-maximum-of-a-list
  57.  
Add Comment
Please, Sign In to add comment