# [`in`][1] is the intended way to test for the existence of a key in a
# [`dict`][2].
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()`][3]:
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()`][4] repeatedly or [`defaultdict`][5]
# from the [`collections`][6] 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.
#
# [1]: https://docs.python.org/reference/expressions.htmlmembership-
# test-operations
# [2]: https://docs.python.org/library/stdtypes.htmldict
# [3]: https://docs.python.org/library/stdtypes.htmldict.get
# [4]: https://docs.python.org/library/stdtypes.htmldict.setdefault
# [5]: https://docs.python.org/library/collections.htmlcollections.de
# faultdict
# [6]: https://docs.python.org/library/collections.html
#
# [Chris B.] [so/q/1602934] [cc by-sa 3.0]
$
cheat.sh