TwiddleLab / Код / Строим на Python
Считаем словарём
Что ты узнаешь
- Шаблон подсчёта: counts[w] = counts.get(w, 0) + 1.
- d.get(key, default) даёт значение или значение по умолчанию, если ключа нет: без KeyError.
- Новый ключ начинается с 0 и становится 1; известный ключ просто растёт на 1.
- Подсчёт пар слов это способ, которым простейшие предсказатели текста угадывают следующее слово.
Как идёт урок
Какую реакцию чаще всего использует твой групповой чат?
Пробеги глазами 30 сообщений и нажми на свою ставку.
Посчитай первые 10 вручную, с ящиками.
Брось каждое слово в его ящик для +1. Новое слово получает новый ящик: он начинается с 0, потом +1.
Теперь пусть код посчитает все 30.
Одна строка делает оба хода: новый ящик с 0, потом +1.
Шаблон подсчёта.
d.get(key, default) безопасно читает значение: если ключа нет, получишь значение по умолчанию вместо KeyError.
Шаблон подсчёта это counts[w] = counts.get(w, 0) + 1: новое слово начинается с 0, известное со своего счёта.
Помести его в цикл по чему угодно (словам, буквам, голосам, песням), и он посчитает всё.
Этот счётчик падает на первом же слове. Исправь.
Запусти, прочитай ошибку и поменяй правую часть строки 4.
Собери счётчик букв для mississippi.
Тот же шаблон, но по буквам. Расставь строки по порядку.
Найди победителя в ящиках своего счётчика.
Указатель обходит ящики. Оставляй ящик, если он лучше лучшего на данный момент, иначе пропускай.
Считать слова или пары слов?
Запусти оба счётчика. Потом нажми на тот, который может сказать, что обычно идёт после like.
Заполни ящики: что будет в counts в конце?
Перетащи число в каждый ящик и нажми «Проверить».
Назад к чату. Теперь пусть будет 10 000 сообщений.
Выбирай чаты побольше. Те же три строки считают их все.
Предыдущий урок: Словари: ярлыки, а не номера · Следующий урок: Отладка как детектив · Часть курса: Строим на Python
Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.