Why dict.get(key) instead of dict[key]?

dictionary, lookup, python

Solution

It allows you to provide a default value if the key is missing:

dictionary.get("bogus", default_value)

returns `default_value` (whatever you choose it to be), whereas

dictionary["bogus"]

would raise a `KeyError`.

If omitted, `default_value` is `None`, such that

dictionary.get("bogus")  # <-- No default specified -- defaults to None

returns `None` just like

dictionary.get("bogus", None)

would.

Problem

I came across the `dict` method `get` which, given a key in the dictionary, returns the associated value. For what purpose is this function useful? If I wanted to find a value associated with a key in a dictionary, I can just do `dict[key]`, and it returns the same thing: ``` dictionary = {"Name": "Harry", "Age": 17} dictionary["Name"] == dictionary.get("Name") # True ``` See also: Return a default value if a dictionary key is not available

Original source

Related problems