JH wrote:
> Hi
>
> Can anyone explain to me why the following codes do not work? I want to
> try out using __cmp__ method to change the sorting order. I subclass
> the str and override the __cmp__ method so the strings can be sorted by
> the lengh. I expect the shortest strin
Jon Clements wrote:
> This probably isn't exactly what you want, but, unless you wanted to do
> something especially with your own string class, I would just pass a
> function to the sorted algorithm.
>
> eg:
>
> sorted( [a,b,c], cmp=lambda a,b: cmp(len(a),len(b)) )
>
> gives you the below in the
doing what you're doing, but something about builtin types,
and there's a UserString module...
Hope that helps a bit anyway,
Jon.
JH wrote:
> Hi
>
> Can anyone explain to me why the following codes do not work? I want to
> try out using __cmp__ method to change the sorting
Python documentation says:
>__cmp__( self, other)
> Called by comparison operations if rich comparison (see above) is not defined.
So it seems you have to redefine rich comparisons __lt__, __gt__,
__eq__ etc as well.
If all you need is change sorting order, why not use appropriate
parameters of so
Hi
Can anyone explain to me why the following codes do not work? I want to
try out using __cmp__ method to change the sorting order. I subclass
the str and override the __cmp__ method so the strings can be sorted by
the lengh. I expect the shortest string should be in the front. Thanks
>>&