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.
 
 
 
 
No comments:
Post a Comment