Collections в Python: задачи на ChainMap, defaultdict и deque
Обычного словаря хватает, пока не появляются слои настроек, группировка с устранением дублей или очередь с ограниченным размером. Здесь эти случаи разобраны через задачи: собрать обратный индекс, исправить приоритет конфигурации, посчитать дефицит ресурсов и найти короткую подстроку. Начните с вопроса про удаление ключа в ChainMap, затем переходите к коду. В задачах на окно и кольцевой буфер придётся следить не только за результатом, но и за состоянием структуры после каждого шага.
Как заниматься
8 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.
Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.
Смежная практика
- Удаление ключа из ChainMap в Python: проверка поведения del
Удаление ключа из ChainMap в Python: проверка поведения del. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Обратный индекс на Python: группировка уникальных значений через defaultdict
Обратный индекс на Python: группировка уникальных значений через defaultdict. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Подсчёт дефицита ресурсов в Python: квоты и суммы заявок
Подсчёт дефицита ресурсов в Python: квоты и суммы заявок. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - ChainMap в Python: исправьте приоритет настроек и удаление переопределений
ChainMap в Python: исправьте приоритет настроек и удаление переопределений. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Иерархия конфигурации в Python: изоляция настроек разных клиентов
Иерархия конфигурации в Python: изоляция настроек разных клиентов. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Скользящее окно Python: найдите кратчайшую подстроку с тремя символами
Скользящее окно Python: найдите кратчайшую подстроку с тремя символами. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Объединение команд и подсчёт рейтинга на Python
Объединение команд и подсчёт рейтинга на Python. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Кольцевой буфер Python: поворот алфавита и шифрование строки
Кольцевой буфер Python: поворот алфавита и шифрование строки. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник
