\section{Standard Modules \module{UserDict} and \module{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}