Strange sorting error message

Dustan DustanGroups at gmail.com
Tue Oct 3 18:49:13 EDT 2006


Diez B. Roggisch wrote:
> Dustan schrieb:
> > I'm hiding some of the details here, because I don't want to say what
> > I'm actually doing.
>
> > I have a special-purpose class with a __cmp__ method all set up and
> > ready to go for sorting. Then I have a special class that is based on
> > the builtin type list (though I didn't actually inherit list; I
> > probably should). When I create an instance with 2 or more items, and
> > attempt to sort it, I get this strange error message:
> >
> >>>> myList.sort()
> > Traceback (most recent call last):
> >   File "<console>", line 1, in <module>
> >   File "[listModulePath]", line 239, in sort
> >     self.listOfObjects.sort()
> > TypeError: an integer is required
> >
> > The sort method's code is exactly what you see; it's a one-line method.
> >
> > The only thing I can think of is the __cmp__ method is returning
> > something other than an integer, which it's not.
>
> Does stuffing the objects in a standard list and sorting them work? How
> does the __cmp__-method look like?

Whoops, I had created the variable returnValue in __cmp__, but
forgotten to return it. Now it works.

That was a dumb mistake; sorry for the trouble.




More information about the Python-list mailing list