Set comprehension создаёт множество из выражения, цикла и необязательного условия.
frozenset - неизменяемый аналог set, поэтому его можно использовать как ключ словаря или элемент другого множества.
Словарь хранит пары ключ-значение; ключ должен быть уникальным и хешируемым.
dict() создаёт словарь из именованных аргументов или последовательности пар.
Доступ через dictionary[key] быстрый, но отсутствующий ключ вызывает KeyError.
Оператор in проверяет наличие ключа, а не значения.
update() добавляет новые пары и перезаписывает существующие ключи.
del и pop() удаляют по ключу; pop() ещё возвращает удалённое значение.
Топ-3 ошибки: создавать пустое множество через {}, хотя это пустой dict; использовать list или set как ключ словаря; читать отсутствующий ключ через [] без проверки.
{} для пустого множества
empty = {} создаёт dict.
Как исправить
Используйте set() для пустого множества.
Изменяемый ключ
Список или set нельзя использовать как ключ dict.
Как исправить
Используйте tuple или frozenset, если набор значений должен быть ключом.