How can I check if a key exists in a dictionary?

Question:

Let’s say I have an associative array like so: {'key1': 22, 'key2': 42}.

How can I check if key1 exists in the dictionary?

Asked By: aneuryzm

||

Answers:

if key in array:
  # do something

Associative arrays are called dictionaries in Python and you can learn more about them in the stdtypes documentation.

Answered By: RafaƂ Rawicki

Another method is has_key() (if still using Python 2.X):

>>> a={"1":"one","2":"two"}
>>> a.has_key("1")
True
Answered By: ghostdog74

If you want to retrieve the key’s value if it exists, you can also use

try:
    value = a[key]
except KeyError:
    # Key is not present
    pass

If you want to retrieve a default value when the key does not exist, use
value = a.get(key, default_value).
If you want to set the default value at the same time in case the key does not exist, use
value = a.setdefault(key, default_value).

Answered By: Marc
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.