# Glossary

**dictionary:** A mapping from a set of keys to their corresponding values.&#x20;

**key-value pair:** The representation of the mapping from a key to a value.&#x20;

**item:** Another name for a key-value pair.&#x20;

**key:** An object that appears in a dictionary as the first part of a key-value pair.&#x20;

**value:** An object that appears in a dictionary as the second part of a key-value pair. This is more specific than our previous use of the word "value".&#x20;

**implementation:** A way of performing a computation.&#x20;

**hashtable:** The algorithm used to implement Python dictionaries.&#x20;

**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, floats and strings are hashable; mutable types like lists and dictionaries are not.&#x20;

**lookup:** A dictionary operation that takes a key and finds the corresponding value.&#x20;

**reverse lookup:** A dictionary operation that takes a value and finds one or more keys that map to it.&#x20;

**singleton:** A set (or other sequence) with a single element.&#x20;

**histogram:** A histogram is an accurate representation of the distribution of numerical data. In simpler terms, it could be seen as a set of counters in a program.

**global variable:** A variable defined outside a function. Global variables can be accessed from any function.&#x20;

**flag:** A boolean variable used to indicate whether a condition is true.&#x20;

**declaration:** A statement like `global` that tells the interpreter something about a variable.&#x20;
