📖 Теория

⚡ Кратко: теория

Summary session 9 повторяет множества, хеширование, set-операции, frozenset и основы словарей.

set нужен для уникальности и операций над наборами.

frozenset полезен там, где нужен неизменяемый и хешируемый набор.

dict хранит пары ключ-значение и быстро ищет значение по ключу.

Ключи dict должны быть хешируемыми, поэтому list, set и dict не подходят.

Оператор in для словаря проверяет ключи.

Для сравнимого вывода set лучше сортировать.

Главная цель summary - обнаружить пробелы перед продолжением темы словарей.

Топ-3 ошибки: ожидать от set сохранения порядка; путать элемент множества и ключ словаря; считать, что update() создаёт дубликат ключа.

Карта повторения

Summary session 9 соединяет две линии: множества как уникальные наборы и словари как пары ключ-значение.

  • set удаляет дубликаты и поддерживает математические операции
  • frozenset нельзя менять после создания
  • dict использует хешируемые ключи
  • in в dict проверяет ключ, а in в set проверяет элемент

Повторение множеств

Если задача говорит об уникальности, пересечении, разности или проверке подмножества, первым кандидатом будет set.

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5}

print(set1 | set2)
print(set1 & set2)
print(set1 - set2)
print(set2 <= set1)

Повторение словарей

Словарь подходит, когда значение нужно получать по имени, коду, номеру страницы или другому ключу.

user = {"name": "Alice", "age": 30}

if "name" in user:
    print(user["name"])

user.update({"age": 31, "city": "New York"})
print(user)

Контрольные вопросы

В summary важно проговорить причину ответа: не просто выбрать вариант, а объяснить, что именно делает структура данных.

  • {5, 10, 15, 5, 20} хранит 5 только один раз
  • my_set.add(3) не добавит дубль
  • dict.update() перезапишет существующий ключ
  • dict.pop(key) возвращает значение удалённого ключа