The prize goes to Bob Gailer! This solution is not only shortest, but works perfectly with negative numbers.
-- Walker Hale <walker.hale...@gmail.com> On Thu, May 14, 2009 at 1:22 PM, bob gailer <bgai...@gmail.com> wrote: > Lie Ryan wrote: >> >> Timo wrote: >>> >>> Hello, >>> >>> I don't think this should be difficult, so maybe I look over it. But I >>> can't seem to find the solution. >>> >>> I have a list with one word and a couple of numbers. Now I want the word >>> to be kept in the first location and the numbers to be sorted. >>> >>> So this: >>> [4, 6, 'word', 3, 9] >>> >>> should be: >>> >>> ['word', 3, 4, 6, 9] >>> >> >> Why not: >> >>> sorted(lst, key=lambda x: (0, x) if isinstance(x, str) else (1, x)) >> ['word', 3, 4, 6, 9] > > Again in the relentless pursuit of terseness: > > sorted(a, key=lambda x: (isinstance(x, int), x)) > > > -- > Bob Gailer > Chapel Hill NC > 919-636-4239 > _______________________________________________ > Tutor maillist - tu...@python.org > http://mail.python.org/mailman/listinfo/tutor _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor