in
is the intended way to test for the existence of a key in a dict
.
d = {"key1": 10, "key2": 23} if "key1" in d: print("this will execute") if "nonexistent key" in d: print("this will not")
If you wanted a default, you can always use dict.get()
:
d = dict() for i in range(100): key = i % 10 d[key] = d.get(key, 0) + 1
and if you wanted to always ensure a default value for any key you can either use dict.setdefault()
repeatedly or defaultdict
from the collections
module, like so:
from collections import defaultdict d = defaultdict(int) for i in range(100): d[i % 10] += 1
but in general, the in
keyword is the best way to do it.