[Tutor] Sorting a list

bob gailer bgailer at gmail.com
Thu May 14 20:22:36 CEST 2009


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


More information about the Tutor mailing list