Your can subclass list if your collection basically behaves like a list:
class MyCollection(list):
def __init__(self, *args, **kwargs):
super(MyCollection, self).__init__(args[0])
However, if your main wish is that your collection supports the iterator protocol, you just have to provide an __iter__ method:
class MyCollection(object):
def __init__(self):
self._data = [4, 8, 15, 16, 23, 42]
def __iter__(self):
for elem in self._data:
yield elem
This allows you to iterate over any instance of MyCollection.