Implementing UserList
This wrapper is similar to UserDict
, except it applies to lists rather than dictionaries. Its main use is for creating a base class for list-like subclasses that allow for inheritance and method overriding or new methods. This allows for new functionality within lists.
Again, like UserDict
, UserList
has been largely superseded by the ability to subclass directly from list
. But, again, it may be easier to use UserList
than a list
subclass. While UserList
has the methods and capabilities of normal lists, it adds the data
attribute to hold the underlying list
object contents.
How to do it...
userlist_import.py
shows how to useUserList
as a superclass for a new list-like object. In this case, we are going to create a class that allows a list to be added by simply assigning values to it, rather than having to call theappend()
function:

- First, in line 11,
UserList
must be imported from the collections module. - Next, the
ExtendList
class is created in line 12 as a subclass of...
- First, in line 11,