\section{Standard Modules \sectcode{UserDict} and \sectcode{UserList}} \stmodindex{UserDict} \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. \renewcommand{\indexsubitem}{(in module UserDict)} The \code{UserDict} module defines the \code{UserDict} class: \begin{funcdesc}{UserDict}{} Return a class instance that simulates a dictionary. The instance's contents are kept in a regular dictionary, which is accessible via the \code{data} attribute of \code{UserDict} instances. \end{funcdesc} \stmodindex{UserList} \renewcommand{\indexsubitem}{(in module UserList)} The \code{UserList} module defines the \code{UserList} class: \begin{funcdesc}{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 \code{data} attribute of \code{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 \code{UserList} (or a subclass). \end{funcdesc}