Emulating container types
The following methods can be defined to implement container
objects. Containers usually are sequences (such as lists or tuples) or
mappings (like dictionaries), but can represent other containers as
well. The first set of methods is used either to emulate a sequence
or to emulate a mapping; the difference is that for a sequence, the
allowable keys should be the integers k for which 0 <= k < N
where N is the length of the sequence, or slice objects, which define
a range of items. (For backwards compatibility, the method
__getslice__ (see below) can also be defined to handle simple,
but not extended slices.) It is also recommended that mappings
provide the methods keys(), values(), items(), has_key(), get(),
clear(), setdefault(), iterkeys(), itervalues(), iteritems(), pop(),
popitem(), copy(), and update() behaving similar to those for Python’s
standard dictionary objects. The UserDict module provides a DictMixin
class to help create those methods from a base set of
__getitem__, __setitem__, __delitem__, and
keys(). Mutable sequences should provide methods append(), count(),
index(), extend(), insert(), pop(), remove(), reverse() and sort(),
like Python standard list objects. Finally, sequence types should
implement addition (meaning concatenation) and multiplication (meaning
repetition) by defining the methods __add__, __radd__,
__iadd__, __mul__, __rmul__ and
__imul__ described below; they should not define
__coerce__ or other numerical operators. It is recommended
that both mappings and sequences implement the __contains__
method to allow efficient use of the in operator; for mappings,
in should be equivalent of has_key(); for sequences, it should
search through the values. It is further recommended that both
mappings and sequences implement the __iter__ method to allow
efficient iteration through the container; for mappings,
__iter__ should be the same as iterkeys(); for sequences, it
should iterate through the values.

Comment:
UserDict.DictMixin should be noted here, and maybe UserList (though it doesn't provide a mixin like DictMixin, and UserDict and UserList are pretty useless).
Posted by infogami