Dictionaries
These represent finite sets of objects indexed by nearly arbitrary
values. The only types of values not acceptable as keys are values
containing lists or dictionaries or other mutable types that are
compared by value rather than by object identity, the reason being
that the efficient implementation of dictionaries requires a key’s
hash value to remain constant. Numeric types used for keys obey the
normal rules for numeric comparison: if two numbers compare equal
(e.g., 1 and 1.0) then they can be used interchangeably to index
the same dictionary entry.
Dictionaries are mutable; they can be created by the {...} notation
(see dictionary-displays).
The extension modules dbm, gdbm, and bsddb provide additional examples of mapping types.