
Друзья, в прошлых постах мы с вами затрагивали множества (тип
Мы знаем, что литерал
Ответ на этот вопрос достаточно простой: словари появились раньше множеств, поэтому для обратной совместимости пришлось оставить литерал
У словарей есть метод
💡 Для создания пустого множества с помощью
#dict #set #полезныйматериал
set
) и словари (тип dict
) для решения задач. Хочу поделиться интересной информацией об этих типах данных.Мы знаем, что литерал
{}
создает пустой словарь, а не пустое множество. Вы когда-нибудь задумывались, почему это так?Ответ на этот вопрос достаточно простой: словари появились раньше множеств, поэтому для обратной совместимости пришлось оставить литерал
{}
словарям. Хочу заметить, что до появления множеств словари использовались для эмуляции работы множеств. Вообще, изначально при создании типа set
разработчики Python просто скопировали исходный код типа dict
и слегка его модифицировали 🙃 (в настоящее время реализация множеств сильнее отличается от реализации словарей, однако и множества, и словари используют под капотом хеш-таблицу для хранения данных).У словарей есть метод
keys()
, который используется достаточно часто. Многие думают, что данный метод возвращает обычный список (тип list
), однако это не так. Метод keys()
возвращает список-представление (тип dict_keys
). Данный список является неизменяемым динамическим объектом, то есть мы не можем его изменить самостоятельно, однако все изменения, такие как удаление или добавление элементов в словарь, сразу отражаются на нем. Более того, тип dict_keys
поддерживает все операции, доступные для множеств!💡 Для создания пустого множества с помощью
{}
мы можем использовать такой лайфхак empty = {*()}
. Не уверен, что такой код лучше стандартного empty = set()
, однако знать это полезно. 😎#dict #set #полезныйматериал