George Sakkis wrote:
s.sort(cmp=lambda x,y: 0 if x==y else
-1 if x.startswith(y) else
+1 if y.startswith(x) else
cmp(x,y))
Probably not what you had in mind ...
>>> s
['a', 'bc', 'bd', 'bcb', 'ba', 'ab']
>>> maxlen = max(len(si) for si in s)
>>> def k(si): return si+'z'*(maxlen-len(si))
...
>>> sorted(s,key=k)
['ab', 'a', 'ba', 'bcb', 'bc', 'bd']
Cheers,
Alan Isaac
--
http://mail.python.org/mailman/listinfo/python-list
