in
is the intended way to test for the existence of a key in a dict
.
d = dict()
for i in xrange(100):
key = i % 10
if key in d:
d[key] += 1
else:
d[key] = 1
If you wanted a default, you can always use dict.get()
:
d = dict()
for i in xrange(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 use defaultdict
from the collections
module, like so:
from collections import defaultdict
d = defaultdict(lambda: 0)
for i in xrange(100):
d[i % 10] += 1
... but in general, the in
keyword is the best way to do it.
manpreet
Best Answer
2 years ago
I wanted to test if a key exists in a dictionary before updating the value for the key. I wrote the following code:
I think this is not the best way to accomplish this task. Is there a better way to test for a key in the dictionary?