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...@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

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to