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() у словарей и его «дефолтный» результат.
Немножко теории: метод 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’)? Пишите в комментариях. По возможности подумайте перед использованием интерпретатора.
Что делает метод get python?
Метод get() позволяет вернуть значение словаря по ключу, если оно существует, или другое, если указано (по-умолчанию возвращает None ). Метод get() не вызывает исключение (ошибка KeyError ), если ключ не существует, в отличии от прямого запроса к несуществующему ключу в словаре.
Пример 1
movies = 'The Hateful Eight': 2015, 'Inglourious Basterds': 2009, 'Death Proof': 2007 > find_movie = input('Type a movie: ') Django Unchained print(movies.get(find_movie)) # => None
Пример 2
movies = 'The Hateful Eight': 2015, 'Inglourious Basterds': 2009, 'Death Proof': 2007 > find_movie = input('Type a movie: ') Sin City print(movies.get(find_movie, 'Not found') # => Not found
Если нужно, чтобы значение существовало до обращения в словарь, то лучше использовать метод setdefault()
Метод get() в Python
Метод get() возвращает значение для указанного ключа, если ключ находится в словаре.
dict.get(key[, value])
Параметры
get() в Python принимает максимум два параметра:
- key ‒ ключ для поиска в словаре;
- value (необязательно) ‒ значение, которое будет возвращено, если ключ не найден. Значение по умолчанию — Нет.
Возвращаемое значение
- значение для указанного ключа, если ключ находится в словаре.
- нет, если ключ не найден и значение не указано.
- значение, если ключ не найден и значение указано.
Пример 1: Как работает со словарями?
person = print('Name: ', person.get('name')) print('Age: ', person.get('age')) # value is not provided print('Salary: ', person.get('salary')) # value is provided print('Salary: ', person.get('salary', 0.0))
Name: Phill Age: 22 Salary: None Salary: 0.0
Сравнение метода get() и dict [key] для доступа к элементам
Функция возвращает значение по умолчанию, если ключ отсутствует.
Однако, если ключ не найден при использовании dict [key], возникает исключение KeyError.
person = <> # Using get() results in None print('Salary: ', person.get('salary')) # Using [] results in KeyError print(person['salary'])
Salary: None Traceback (most recent call last): File "", line 7, in print(person['salary']) KeyError: 'salary'