\section{Standard Modules \sectcode{UserDict} and \sectcode{UserList}}
\nodename{UserDict and UserList}
\stmodindex{UserDict}
\stmodindex{UserList}
\label{module-UserDict}
\label{module-UserList}

Each of these modules defines a class that acts as a wrapper around
either dictionary or list objects.  They're useful base classes for
your own dictionary-like or list-like classes, which can inherit from
them and override existing methods or add new ones.  In this way one
can add new behaviours to dictionaries or lists.

\setindexsubitem{(in module UserDict)}
The \module{UserDict} module defines the \class{UserDict} class:

\begin{classdesc}{UserDict}{}
Return a class instance that simulates a dictionary.  The instance's
contents are kept in a regular dictionary, which is accessible via the
\member{data} attribute of \class{UserDict} instances.
\end{classdesc}

\setindexsubitem{(in module UserList)}
The \module{UserList} module defines the \class{UserList} class:

\begin{classdesc}{UserList}{\optional{list}}
Return a class instance that simulates a list.  The instance's
contents are kept in a regular list, which is accessible via the
\member{data} attribute of \class{UserList} instances.  The instance's
contents are initially set to a copy of \var{list}, defaulting to the
empty list \code{[]}.  \var{list} can be either a regular Python list,
or an instance of \class{UserList} (or a subclass).
\end{classdesc}
