Методы словарей

Методы словарей#

  • 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])