[Tutor] samples on sort method of sequence object.
Stefan Behnel
stefan_ml at behnel.de
Thu Jan 14 10:13:04 CET 2010
Lie Ryan, 14.01.2010 01:47:
> 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.
Note that this won't work in Py3, where the "cmp" parameter is gone.
Stefan
More information about the Tutor
mailing list