Class wrapper for list objects
==============================
Class wrapper for list objects.
This module defines a class that acts as a wrapper around list objects.
It is a useful base class for your own list-like classes, which can
inherit from them and override existing methods or add new ones. In
this way one can add new behaviors to lists.
The `UserList' module defines the `UserList' class:
`UserList([list])'
Class that simulates a list. The instance's contents are kept in
a regular list, which is accessible via the `data' attribute of
`UserList' instances. The instance's contents are initially set
to a copy of LIST, defaulting to the empty list `[]'. LIST can be
either a regular Python list, or an instance of `UserList' (or a
subclass).
In addition to supporting the methods and operations of mutable
sequences (see section Note:Sequence Types), `UserList' instances
provide the following attribute:
`data'
A real Python list object used to store the contents of the
`UserList' class.
*Subclassing requirements:* Subclasses of `UserList' are expect to
offer a constructor which can be called with either no arguments or one
argument. List operations which return a new sequence attempt to
create an instance of the actual implementation class. To do so, it
assumes that the constructor can be called with a single parameter,
which is a sequence object used as a data source.
If a derived class does not wish to comply with this requirement, all
of the special methods supported by this class will need to be
overridden; please consult the sources for information about the
methods which need to be provided in that case.
_Changed in Python version 2.0_