dictionary: A mapping from a set of keys to their corresponding values.
key-value pair: The representation of the mapping from a key to a value.
item: Another name for a key-value pair.
key: An object that appears in a dictionary as the ﬁrst part of a key-value pair.
value: An object that appears in a dictionary as the second part of a key-value pair. This is more speciﬁc than our previous use of the word “value.”
implementation: A way of performing a computation.
hashtable: The algorithm used to implement Python dictionaries.
hash function: A function used by a hashtable to compute the location for a key.
hashable: A type that has a hash function. Immutable types like integers, ﬂoats and strings are hashable; mutable types like lists and dictionaries are not.
lookup: A dictionary operation that takes a key and ﬁnds the corresponding value.
reverse lookup: A dictionary operation that takes a value and ﬁnds one or more keys that map to it.
singleton: A list (or other sequence) with a single element.
call graph: A diagram that shows every frame created during the execution of a program, with an arrow from each caller to each callee.
histogram: A set of counters.
memo: A computed value stored to avoid unnecessary future computation.
global variable: A variable deﬁned outside a function. Global variables can be accessed from any function.
ﬂag: A boolean variable used to indicate whether a condition is true.
declaration: A statement like global that tells the interpreter something about a variable.