Множества и словари
Что это и зачем
set хранит уникальные хешируемые элементы, dict связывает уникальные хешируемые ключи со значениями. Словарь сохраняет порядок вставки.
Как это работает
set поддерживает объединение |, пересечение &, разность -. dict.get возвращает значение по ключу или запасное значение. items выдаёт пары, keys — ключи, values — значения. Повторное присваивание ключу заменяет значение.
print(sorted(set([3, 1, 3, 2])))
Когда применять
Используйте set для устранения повторов и проверки принадлежности, dict — для индекса и подсчёта. Проверка in в dict проверяет ключи. Вывод множества сортируйте для повторяемого результата.
Границы применения
Пустое {} — dict; пустое множество создают set(). Список не хешируем, поэтому не может стать ключом. Не полагайтесь на порядок set и не меняйте размер dict при переборе.
Ошибки и лучшие практики
dict[key] при отсутствующем ключе вызывает KeyError. get(key, []) не сохраняет список в словарь. Различайте копию словаря и общий вложенный объект.
Понятна идея? Теперь проверим её в действии.