⚖️ Старый vs Новый

⚡ Кратко: сравнение подходов

Практикум 9 закрепляет set, dict, frozenset и вложенные структуры.

Для чисел, кратных 3 или 5, подходит set comprehension с условием.

Общие ключи двух словарей удобно искать через пересечение set(dict1) & set(dict2).

Список строк превращается в словарь длин через dict comprehension.

Подмножество словаря означает совпадение пар ключ-значение, а не только ключей.

Пустые значения можно удалить comprehension с проверкой truthiness.

frozenset нужен как ключ, когда набор элементов не должен зависеть от порядка.

В задачах с вводом отделяйте чистую логику от input(), чтобы проще тестировать.

Топ-3 ошибки: проверять подмножество словаря только по ключам; терять рецепты с одинаковым набором ингредиентов; использовать set как ключ вместо frozenset.

Большие решения в одном цикле

Практикум часто показывает прямой код в одном файле.

Современная практика

Для сложных задач выделяйте функции: build_recipe_index(), find_available_recipes(), group_students().

Проверка пустоты через if value

Это коротко удаляет None, '', [] и другие falsy-значения.

Современная практика

Если 0 или False являются допустимыми данными, проверяйте явно: value is not None and value != '' and value != [].

frozenset как техническая деталь

В учебной задаче frozenset нужен для ключа.

Современная практика

В реальном коде это хороший способ показать, что порядок элементов не важен и набор не должен изменяться.

Проверить по документации: Современные замечания о стиле, производительности и поведении структур данных сверяйте с документацией Python версии, которую используете.