Методы словарей#
clear- очищает словарь
d = {"x": 30, "y": 60}
d.clear()
d
{}
copy- возвращает копию словаря: новый объект, содержащий точно такие же ссылки на объекты, как было в исходном словаре
d = {"x": 30, "y": 60}
# Во время копирования мы создаем новую переменную, которая указывает на новый словарь
new_d = d.copy()
id(d), id(new_d)
(140292564284416, 140292562261632)
d = {"x": 30, "y": 60}
# Во время присваивания мы создаем новую переменную, которая указывает на тот же словарь
new_d = d
id(d), id(new_d)
(140292564281984, 140292564281984)
get- возвращает значение по ключу, если ключ есть в словаре. Если ключа нет, возвращает None
d = {"x": 30, "y": 60}
d.get("x")
30
d.get("z")
Вторым аргументом можно задать, какое значение будет возвращаться, если ключа нет в словаре
d.get("z", 0)
0
items- возвращает пары ключ\значение из словаря
d = {"x": 30, "y": 60}
d.items()
dict_items([('x', 30), ('y', 60)])
keys- возвращает ключи из словаря
d = {"x": 30, "y": 60}
d.keys()
dict_keys(['x', 'y'])
pop- возвращает значение по ключу и удаляет этот ключ. Если ключа нет, возвращает ошибку
d = {"x": 30, "y": 60}
x = d.pop("x")
d, x
({'y': 60}, 30)
popitem- возвращает последнюю введенную пару ключ\значение и удаляет их из словаря. Если словарь пустой, возвращает ошибку
d = {"x": 30, "y": 60}
key, value = d.popitem()
d, key, value
({'x': 30}, 'y', 60)
setdefault- возвращает значение по ключу, вторым параметром указывается, какое значение будет возвращаться, если ключа нет в словаре. Также, если ключ не был найден, создает его с указанным значением
d = {"x": 30, "y": 60}
x = d.setdefault("x", 0)
d, x
({'x': 30, 'y': 60}, 30)
d = {"x": 30, "y": 60}
z = d.setdefault("z", 0)
d, z
({'x': 30, 'y': 60, 'z': 0}, 0)
update- обновляет значения по ключам в исходном словаре соответствующими значениями из словаря, переданного в качестве параметра. Если в исходном словаре есть не все ключи из переданного, то создает их
d = {"x": 30, "y": 60}
new_d = {"x": 60, "z": 0}
d.update(new_d)
d
{'x': 60, 'y': 60, 'z': 0}
d = {"x": 30, "y": 60}
d.values()
dict_values([30, 60])