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. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor