Метод Python setdefault() возвращает значение ключа (если ключ есть в словаре).
Что такое функция dictionary setdefault() в Python?
Dictionary setdefault() в Python — это встроенный метод, используемый для поиска значения ключа, если ключ присутствует в словаре. Если нет, он вставляет ключ со значением в словарь. Метод setdefault() возвращает значение элемента с указанным ключом.
|
1 |
dict_name.setdefault(key,[ default_value]) |
Параметры
- dict_name — это имя словаря.
- key -> — это ключ, значение которого нужно искать, используя значение ключа.
- default_value -> Это необязательный параметр в методе setdefault(). Здесь хранится значение по умолчанию, заданное пользователем. Если значение не указано, то значением по умолчанию будет none.
Возвращаемое значение
Метод setdefault() может возвращать три типа значений:
- Value of the key: если ключ присутствует в словаре.
- None: Если ключ отсутствует в словаре, также не предоставляется значение по умолчанию.
- Default Value: если ключ отсутствует в словаре, предоставляется значение по умолчанию.
Пример кода
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# app.py # Declaring a dictionary colors = {'Apple': 'Red', 'Leaf': 'Green', 'Sky': 'Sky Blue'} # Printing the dictionary print("Dictionary is\n", colors) # Now we will call setdefault() method using a key # But that key is not present in the dictionary # Calling without default colour new_col = colors.setdefault('Water') # Printing new dictionary print("New dictionary is\n", colors) # Now we will call setdefault() method # using a key and default value which is not present new_col1 = colors.setdefault('Hair', 'Black') print("Final dictionary is\n", colors) |
Выход:
|
1 2 3 4 5 6 |
Dictionary is {'Apple': 'Red', 'Leaf': 'Green', 'Sky': 'Sky Blue'} New dictionary is {'Apple': 'Red', 'Leaf': 'Green', 'Sky': 'Sky Blue', 'Water': None} Final dictionary is {'Apple': 'Red', 'Leaf': 'Green', 'Sky': 'Sky Blue', 'Water': None, 'Hair': 'Black'} |
В приведенной выше программе мы объявили один словарь и распечатали его. После этого мы вызывали метод setdefault() только по ключу, которого нет в словаре.
Мы видим, что когда мы передали Water в качестве ключа, значение было None, поскольку мы не указали значение по умолчанию.
С другой стороны, мы передали Hair в качестве ключа и Black в качестве значения по умолчанию в методе setdefault(), и мы видим, что окончательный словарь содержит Hair и Black в качестве ключа и значения.
Заключение
При инициализации словаря обычно выполняется проверка кода на наличие ключа, а затем создается ключ, если он не существует. Ту же задачу можно реализовать более лаконично, используя встроенный метод словаря setDefault().
