[Tutor] samples on sort method of sequence object.

Hugo Arts hugo.yoshi at gmail.com
Wed Jan 13 20:56:28 CET 2010


On Wed, Jan 13, 2010 at 8:21 PM, Stefan Behnel <stefan_ml at behnel.de> wrote:
> Hugo Arts, 13.01.2010 15:25:
>>
>> Here is my solution for the general case:
>>
>> from itertools import groupby
>> def alphanum_key(string):
>>    t = []
>>    for isdigit, group in groupby(string, str.isdigit):
>>        group = ''.join(group)
>>        t.append(int(group) if isdigit else group)
>>    return t
>
> Note that this won't work in Py3, where integers and strings are not
> ordered, i.e. not comparable w.r.t the < and > operators.
>

True. You can accommodate by writing a ComparableInt class extending
int, and implement __lt__ and __gt__.
It's not exactly succinct, but it works.


More information about the Tutor mailing list