Magnus Lycka wrote: > >>> class BryansList(list): > ... add=list.append > ... def clear(self): > ... del self[:] > ... > >>> b = BryansList([1,2,3,4,5]) > >>> b > [1, 2, 3, 4, 5] > >>> b.add(6) > >>> b.clear() > >>> b > [] > > Happy now? You can keep it, I don't need it. :) > Most of us consider minimal interfaces a virtue.
What kind of performance penalty are we talking about here ? list being such a fundamental thing, no one would like to use a slower version just for the clear/add method. And if it is a "use when you really need to", it would make the code harder to understand as it would be "sometimes it is BryansList, sometimes it is builtin list". That said, I don't find clear() to be useful as unless one needs to pass around a single copy of list object around and saved them for future use(which can be a source of subtle bug), just lst=[] is usually good enough for localized usage. -- http://mail.python.org/mailman/listinfo/python-list