Урок 40. Модуль collections

📁 Блок: Python Fundamentals / Стандартная библиотека⏱️ Время изучения: ~115 мин🎯 Сложность: Начальная - средняя
#time #popitem #defaultdict #list #range #print #len #round #import #from #def #return #append #dict #items #for #in #if #lower #replace #split #is #isalpha #get #sum

⚡ Кратко: что важно

time.time() помогает измерять длительность, sleep() делает задержку.

collections содержит специализированные структуры данных.

OrderedDict сохраняет порядок и умеет move_to_end().

popitem(last=False) удаляет первый элемент OrderedDict, что удобно для очереди.

Кэш хранит результаты повторных операций, LRU удаляет давно не используемые записи.

@lru_cache кэширует вызовы функции по аргументам.

defaultdict создаёт значение по умолчанию при обращении к отсутствующему ключу.

Counter считает элементы и умеет most_common(), elements(), update(), subtract().

Топ-3 ошибки: использовать sleep() в измерении быстрых операций; забывать, что defaultdict добавляет ключ при чтении; ожидать от Counter вычитания отрицательные значения при операторе -.

О чём этот урок

Урок показывает, как стандартная библиотека дополняет dict и list готовыми структурами: OrderedDict для управления порядком, defaultdict для значений по умолчанию, Counter для частотного анализа, а functools.lru_cache для кэширования.

Цели

  • измерять время выполнения небольших фрагментов
  • использовать OrderedDict для порядка и очередей
  • понимать идею LRU-кэша
  • группировать данные через defaultdict
  • считать частоты через Counter

Что повторить заранее

Разделы урока

Что дальше

Следующий урок будет добавлен после следующего запуска генерации.