Set comprehension создаёт множество из выражения, цикла и необязательного условия.
frozenset - неизменяемый аналог set, поэтому его можно использовать как ключ словаря или элемент другого множества.
Словарь хранит пары ключ-значение; ключ должен быть уникальным и хешируемым.
dict() создаёт словарь из именованных аргументов или последовательности пар.
Доступ через dictionary[key] быстрый, но отсутствующий ключ вызывает KeyError.
Оператор in проверяет наличие ключа, а не значения.
update() добавляет новые пары и перезаписывает существующие ключи.
del и pop() удаляют по ключу; pop() ещё возвращает удалённое значение.
Топ-3 ошибки: создавать пустое множество через {}, хотя это пустой dict; использовать list или set как ключ словаря; читать отсутствующий ключ через [] без проверки.
Задание 1. Уникальные длины
Создайте множество длин слов из списка words.
words = ["apple", "banana", "cherry", "apple"]
Задание 2. frozenset и union
Создайте frozenset из [1, 2, 3], затем получите новое множество с 4 и 5 через union().
immutable_set = frozenset([1, 2, 3])
Задание 3. Типы ключей
Проверьте, какие типы можно использовать как ключи: int, bool, set, float, dict, tuple, list, frozenset.
Задание 4. Преобразование пар
Преобразуйте список пар в словарь и выведите name.