Методы словаря в Python

Класс Dictionary в Python предоставляет набор встроенных методов, которые мы можем вызывать в словарях.

clear()

Метод clear() удаляет все пары ключ:значение из словаря, другими словами, это делает словарь пустым.

dictionary = {"a": 4, "b": 5, "c": 6}
dictionary.clear()
print(dictionary)

Вывод:

{}

copy()

Метод словаря copy() возвращает копию исходного словаря. Любые изменения, внесенные в элементы в скопированном словаре, не влияют на исходный словарь.

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

dictionary = {"a": 4, "b": 5, "c": 6}
dictionary_1 = dictionary.copy()
dictionary_1["b"] = 2
print(dictionary)
print(dictionary_1)

Вывод:

{'a': 4, 'b': 5, 'c': 6}
{'a': 4, 'b': 2, 'c': 6}

fromkeys()

Метод Dictionary fromkeys() создает новый словарь из ключей данного словаря и необязательного значения по умолчанию для пар ключ-значение.

dictionary = {"a": 4, "b": 5, "c": 6}
dictionary_1 = dict.fromkeys(dictionary, 1)
print(dictionary_1)

Вывод:

{'a': 1, 'b': 1, 'c': 1}

get()

Метод Dictionary get() возвращает значение для указанного ключа. Ключ указывается путем передачи в качестве аргумента.

dictionary = {"a": 4, "b": 5, "c": 6}
x = dictionary.get("b")
print(x)

Вывод:

5

items()

Метод Dictionary items() возвращает итератор типа dict_items. Вы можете перебирать каждый ключ:значение в словаре. Также тип dict_items поддерживает динамическое обновление словаря.

dictionary = {"a": 4, "b": 5, "c": 6}
for key, value in dictionary.items():
    print(key, '-', value)

Вывод:

a - 4
b - 5
c - 6

keys()

Метод Dictionary keys() возвращает итератор типа dict_keys. Вы можете перебирать каждый ключ в словаре. Также тип dict_keys поддерживает динамическое обновление словаря.

dictionary = {"a": 4, "b": 5, "c": 6}
for key in dictionary.keys():
    print(key)

Вывод:

a
b
c

values()

Метод Dictionary values() возвращает итератор типа dict_values. Вы можете перебирать каждое значение в словаре. Кроме того, тип dict_values поддерживает динамическое обновление словаря.

dictionary = {"a": 4, "b": 5, "c": 6}
for value in dictionary.values():
    print(value)

Вывод:

4
5
6

pop()

Метод словаря pop() удаляет пару ключ-значение указанного ключа и возвращает только значение. Ключ передается как аргумент методу pop().

dictionary = {"a": 4, "b": 5, "c": 6}
x = dictionary.pop("b")
print(x)
print(dictionary)

Вывод:

5
{'a': 4, 'c': 6}

Если вы не передадите какой-либо ключ методу pop(), он выдаст TypeError.

Если передается ключ, которого нет, pop() выбрасывает KeyError.

Итак, перед тем, как вывести пару ключ-значение, вам придется проверить, присутствует ли ключ в словаре.

popitem()

Метод словаря popitem() удаляет последнюю вставленную пару «ключ-значение» указанного ключа и возвращает эту пару.

dictionary = {"a": 4, "b": 5, "c": 6}
x = dictionary.popitem()
print(x)
print(dictionary)

Вывод:

('c', 6)
{'a': 4, 'b': 5}

setdefault()

Метод словаря setdefault() возвращает значение указанного ключа, если он присутствует. Если ключ отсутствует, метод setdefault() вставляет пару key:value со значением по умолчанию и возвращает значение по умолчанию.

dictionary = {"a": 4, "b": 5, "c": 6}
x = dictionary.setdefault("b")
print(x)
y = dictionary.setdefault("m", 0)
print(y)
print(dictionary)

Вывод:

5
0
{'a': 4, 'b': 5, 'c': 6, 'm': 0}

Ключ b присутствует, поэтому возвращается его значение. Но ключа m нет, поэтому пара ключ-значение m 0 вставляется в словарь и возвращается значение.

update()

Метод Dictionary update() обновляет пары ключ-значение из словаря, переданного в качестве аргумента. Значения для имеющихся ключей обновляются, а для отсутствующих ключей вставляются key:value.

dictionary = {"a": 4, "b": 5, "c": 6}
dictionary_1 = {"a": 8, "m": 2, "v": 7}
dictionary.update(dictionary_1)
print(dictionary)

Вывод:

{'a': 8, 'b': 5, 'c': 6, 'm': 2, 'v': 7}

В этом руководстве мы изучили все методы словаря Python и рассмотрели примеры для каждого из них.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *