Какая разница между dictionary.get(elem) и dictionary[elem]?
Есть ли какая-то разница между:
dict_ = {'a':0, 'b':2, 'c':1}
print(dict_.get('a'))
и
dict_ = {'a':0, 'b':2, 'c':1}
print(dict_['a'])
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Метод get для отсутствующего ключа вернет None, а [] выбросит исключение KeyError:
dict_ = {'a':0, 'b':2, 'c':1}
print(dict_.get('d'))
# None
dict_ = {'a':0, 'b':2, 'c':1}
print(dict_['D'])
# KeyError: 'D'
Автор решения: Free Login
→ Ссылка
Разница состоит в том, что при вызове dict[key] для не существующего ключа будет получено исключение:
>>> dict = {'a':1, 'b':2}
>>> dict['c']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'c'
То же самое действие, но с dict.get(key) выдаст None:
>>> dict = {'a':1, 'b':2}
>>> dict.get('c') is None
True