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

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

Set comprehension создаёт множество из выражения, цикла и необязательного условия.

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

Словарь хранит пары ключ-значение; ключ должен быть уникальным и хешируемым.

dict() создаёт словарь из именованных аргументов или последовательности пар.

Доступ через dictionary[key] быстрый, но отсутствующий ключ вызывает KeyError.

Оператор in проверяет наличие ключа, а не значения.

update() добавляет новые пары и перезаписывает существующие ключи.

del и pop() удаляют по ключу; pop() ещё возвращает удалённое значение.

Топ-3 ошибки: создавать пустое множество через {}, хотя это пустой dict; использовать list или set как ключ словаря; читать отсутствующий ключ через [] без проверки.

Проверка через in перед []

В источнике используется if key in my_dict перед доступом.

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

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

Итерация только по ключам

for key in my_dict, затем my_dict[key].

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

Когда нужны и ключ, и значение, чаще читается for key, value in my_dict.items().

Вывод set напрямую

print(my_set) показывает множество в произвольном порядке.

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

Для учебных проверок и тестов лучше печатать sorted(my_set), если порядок важен для сравнения результата.

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