Customizing sequence types

Mr.SpOOn mr.spoon21 at gmail.com
Sun Nov 16 11:16:29 EST 2008


Hi,
I'm trying to create a class which inherit a list to change some behavior.
This list should contain other instance objects and has to manage
these instances in a particular way.

1) I need to sort this elements in this list, but they must be sorted
using an instance variable. What does Python use to sort elements? I
mean, there is a __sort__ method in the class list or it just uses
comparison operators? In this case, shall I just redefine this
operators in the element classes?

2) I need to have just unique elements. Maybe this is related to first
question (or maybe not). Again, to estabilish the uniqueness of an
element I have to use an instance variable. I think I have to rewrite
both the methods append() and __contains__(), but I'm not sure how.

For the first one I did:

    def append(self, element):
        if element in self:
            pass
        else:
            list.append(self, element)

It seems right to me, but I have no idea what to do with __contains__()

Suggestion?



More information about the Python-list mailing list