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
>>> class myStr(str): def __init__(self, s): str.__init__(self, s) # Ensure super class is initialized def __cmp__(self, other): return cmp(len(self), len(other)) >>> a = myStr('abc') >>> b = myStr('Personal') >>> c = myStr('Personal firewall') >>> sorted([c, b, a]) ['Personal', 'Personal firewall', 'abc'] >>> -- http://mail.python.org/mailman/listinfo/python-list