[Tutor] samples on sort method of sequence object.

Lie Ryan lie.1296 at gmail.com
Thu Jan 14 01:47:46 CET 2010


On 01/14/10 06:56, Hugo Arts wrote:
> 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.

Not necessary, you can just pass the cmp= parameter to sort that checks
the chunk's type.



More information about the Tutor mailing list