🔖 Справочник синтаксиса

⚡ Кратко: справочник

fromkeys() создаёт словарь с одинаковым значением для набора ключей.

Если передать fromkeys() изменяемый объект, все ключи будут ссылаться на один и тот же объект.

get() безопасно возвращает значение или default вместо KeyError.

setdefault() возвращает значение ключа, а если ключа нет - добавляет его.

keys(), values() и items() возвращают динамические view objects.

Вложенные словари позволяют хранить иерархичные данные.

copy() копирует словарь поверхностно, deepcopy() копирует вложенные объекты.

Dict comprehension создаёт словарь в одну читаемую конструкцию.

Топ-3 ошибки: использовать dict.fromkeys(keys, []) для независимых списков; ожидать, что list(dictionary.keys()) будет обновляться вместе со словарём; путать shallow copy и deep copy во вложенных структурах.

КонструкцияДля чегоМини-пример
dict.fromkeys(keys)Создать словарь с None.dict.fromkeys(["x", "y"])
dict.fromkeys(keys, value)Создать словарь с одним значением для всех ключей.dict.fromkeys(["x", "y"], 0)
dictionary.get(key)Получить значение или None.user.get("city")
dictionary.get(key, default)Получить значение или default.user.get("city", "Unknown")
dictionary.setdefault(key, default)Получить значение или добавить ключ.groups.setdefault("Python", [])
dictionary.keys()Динамическое представление ключей.user.keys()
dictionary.values()Динамическое представление значений.user.values()
dictionary.items()Динамическое представление пар.user.items()
dictionary.copy()Поверхностная копия.profile.copy()
copy.deepcopy(dictionary)Глубокая копия.copy.deepcopy(profile)
{k: v for item in iterable}Dict comprehension.{word: len(word) for word in words}

Как пользоваться справочником

Копируйте не отдельную строку, а идею конструкции. В реальном коде добавляйте понятные имена переменных, проверки отсутствующих значений и стабильный вывод там, где порядок важен.