[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