Delaney, Timothy (Tim) wrote:
> Cameron Walsh wrote:
> 
>> Hi,
>>
>> I have two lists, A and B, such that B is a subset of A.
>>
>> I wish to sort A such that the elements in B are at the beginning of
>> A, and keep the existing order otherwise, i.e. stable sort.  The
>> order of elements in B will always be correct.
>>
>> for example:
>>
>> A = [0,1,2,3,4,5,6,7,8,9,10]
>> B = [2,3,7,8]
>>
>> desired_result = [2,3,7,8,0,1,4,5,6,9,10]
> 
> c = set(B)
> a.sort(key=c.__contains__, reverse=True)
> 
> Tim Delaney

Depressingly simple.  I like it.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to