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

The Question :

344 people think this question is useful

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

How can I check if key1 exists in the dictionary?

The Question Comments :
  • In python 3 you can just use 'key1' in {'key1': 22, 'key2': 42}.keys() refer to the keys() method in Dictionary

The Answer 1

624 people think this answer is useful
if key in array:
  # do something

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

The Answer 2

62 people think this answer is useful

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

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

The Answer 3

57 people think this answer is useful

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).

Tags:

Add a Comment