dict.get
default — Значение, которое следует вернуть, если в словаре не окажется указанного ключа. По умолчанию — None.
Метод возвращает значение из словаря по указанному ключу.
my_dict = 'one': 1,
>
my_dict.get('one') # 1
my_dict.get('two') # None
my_dict.get('two', 2) # 2
В случае, если ключ не найден в словаре возвращает значение аргумента default .
Таким образом, исключение KeyError при использование данного метода не возбуждается никогда.
На заметку
Для получения значения и инициализации элемента словаря в случае необходимости смотрите dict.setdefault.
Что такое функция get в Python?
Метод get() используется в словарях, чтобы получить значение по ключу, который передается методу в качестве аргумента:
car = 'brand': 'Ford', 'model': 'Mustang', 'year': 1964 > x = car.get('model') print(x) # => Mustang
Если передать методу вторым аргументом какое-либо значение, то метод вернет это самое значение, если запрашиваемого ключа в словаре не обнаружится:
car = 'brand': 'Ford', 'model': 'Mustang', 'year': 1964 > x = car.get('price', 15000) print(x) # => 15000
Метод dict.get() в Python, значение по умолчанию если ключа нет
Значение по умолчанию для отсутствующих ключей в словаре
Синтаксис:
dict.get(key[, default])
Параметры:
- key — ключ словаря
- default — значение по умолчанию
Возвращаемое значение:
- значение ключа key или default если ключа нет.
Описание:
Метод dict.get() возвращает значение для ключа key , если ключ находится в словаре, если ключ отсутствует то вернет значение default .
Если значение default не задано и ключ key не найден, то метод вернет значение None .
Метод dict.get() никогда не вызывает исключение KeyError , как это происходит в операции [получения значения словаря по ключу dict[key] .
Примеры, как работает метод dict.get() :
>>> x = 'one': 1, 'two': 2, 'three': 3, 'four': 4> >>> x.get('two', 0) # 2 >>> x.get('four', 0) # 4 >>> x.get('ten', 0) # 0 >>> >>> print(x.get('six')) # None
Где можно применить метод dict.get() .
Метод dict.get() можно применить, например, для подсчета количества одинаковых элементов последовательности. Допустим есть список чисел или слов (символов) или то и другое и необходимо узнать, сколько раз КАЖДЫЙ элемент встречается в этом списке. Для решения этой задачи создадим пустой словарь, в который будем добавлять в качестве ключа — элемент списка (словари, в качестве ключа могут принимать неизменяемые значения), а в качестве значения будет количество появлений этого элемента в списке.
# имеем список lst = [9, 13, 1, 3, 7, 3, 1, 1, 7, 1, 7, 9] # создаем пустой словарь rez = <> # в процессе итерации по списку for el in lst: # проверяем есть ли в словаре # ключ с элементом `el` if rez.get(el, None): # если есть, то увеличиваем # счетчик с этим ключом не 1 rez[el] += 1 else: # если нет, то создаем такой # ключ со значением, равным 1 rez[el] = 1 # смотрим что получилось print(rez) # # чтобы было нагляднее, можно отсортировать словарь # по значению (количеству появлений элементов в списке) rez_sorted = sorted(rez.items(), key=lambda x: x[1], reverse=True) print(dict(rez_sorted)) #
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Представления словарей dict.keys, dict.values и dict.items
- Исходный словарь для представления dictview.mapping
- Получение списка ключей словаря list(dict)
- Количество элементов в словаре len(dict)
- Доступ к значению словаря по ключу dict[key]
- Добавление/изменение значения словаря по ключу key
- Удаление значения словаря по ключу
- Проверка наличия/отсутствия ключа key в словаре dict
- Проверка наличия/отсутствия значения value в словаре Python
- Проверка наличия/отсутствия пары (key, value) в словаре dict
- Итерирование по ключам и значениям словаря Python
- Метод dict.clear(). Очистить словарь
- Метод dict.copy(), копия словаря
- Метод dict.fromkeys(), словарь с ключами по умолчанию
- Метод dict.get(), значение по умолчанию если ключа нет
- Метод dict.items(), список кортежей
- Метод dict.keys(), список ключей словаря
- Метод dict.values(), список значений словаря
- Метод dict.pop()
- Метод dict.popitem(), получить пару ключ/значение
- Метод dict.setdefault(), получает/вставляет значение ключа
- Метод dict.update(), обновление/дополнение словаря
- Объединение двух словарей в новый словарь Python
- Сортировка словаря по значению и/или ключу
- Обратный порядок/реверс словаря reversed(dict)
- Генератор словаря и его использование
- Фильтр словаря по ключам и/или значениям
- Словарь как фабрика функций
Метод get() у словарей и его «дефолтный» результат.
Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.
name_for_userid = < 382: "Сергей", 590: "Толик", 951: "Аристарх", >def greeting(user_id): return "Привет %s!" % name_for_userid.get(user_id, "Уважаемый") greeting(382) "Привет Сергей!" greeting(333333) "Привет Уважаемый!"
О чем говорит этот пример?
Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.
Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
А что же вернет такой код greeting(abracadabra) или greeting(‘abracadabra’)? Пишите в комментариях. По возможности подумайте перед использованием интерпретатора.