On 01/14/10 06:56, Hugo Arts wrote: > On Wed, Jan 13, 2010 at 8:21 PM, Stefan Behnel <[email protected]> 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. _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
